Вход | Регистрация


1С:Предприятие ::

Метки:

Отчет о продажах (свой)

Я
   Mastekor
 
11.09.12 - 10:06
Здравствуйте. Такая вот ситуация надо сделать отчет по опр. контрагентам за опр. период. Список контрагентов находится во внешнем файле. Я сделал аналогичный отчет на базе универсального, подгрузил свой список, все работает, все выводится, но есть один ньюанс. Если за выбранный период у контрагента не было покупок, то он в результаты отчета не попадает. А мне хотелось бы видеть его в списке, пусть данные будут пустые или нули, но, чтобы в списке был. Поскольку сам 1С изучаю не сильно давно, подскажите, в какую сторону мне стоит смотреть?
З.Ы. Может есть какой параметр у универсального отчета, чтобы вывести все результаты или что-нить в этом роде?
З.Ы.2. Запрос я не трогал (если честно, то его в выгруженном мною файле даже нету :()
 
 
   Baker_it
 
1 - 11.09.12 - 10:06
Левое соединение со справочником контрагенты.
   Baker_it
 
2 - 11.09.12 - 10:07
вернее справочник контрагенты левое соединение с регистром(и) продаж))
   DrShad
 
3 - 11.09.12 - 10:08
придется трогать запрос
   kolanych
 
4 - 11.09.12 - 10:10
Настаиваю на правом соединении. Наше дело - правое.
   Mastekor
 
5 - 11.09.12 - 10:19
Мм... а как тронуть запрос? :) В файлах что у мены выгрузились запроса нет вообще, он где-то в конфигурации
6
   DrShad
 
6 - 11.09.12 - 10:29
(5) свой подсунь
   Mastekor
 
7 - 13.09.12 - 16:11
Нашел текст запроса, вот только он какой-то не такой... :( Никак не пойму, куда и что там подставляить...

ВЫБРАТЬ РАЗРЕШЕННЫЕ
                                                     |    ИсточникДанных.Номенклатура КАК Номенклатура,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление,
                                                     |    ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
                                                     |    ИсточникДанных.ЗаказПокупателя КАК ЗаказПокупателя,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ЗаказПокупателя) КАК ЗаказПокупателяПредставление,
                                                     |    ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление,
                                                     |    ИсточникДанных.ДокументПродажи КАК ДокументПродажи,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументПродажи) КАК ДокументПродажиПредставление,
                                                     |    ИсточникДанных.Подразделение КАК Подразделение,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение) КАК ПодразделениеПредставление,
                                                     |    ИсточникДанных.Проект КАК Проект,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Проект) КАК ПроектПредставление,
                                                     |    ИсточникДанных.Организация КАК Организация,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация) КАК ОрганизацияПредставление,
                                                     |    ИсточникДанных.Контрагент КАК Контрагент,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Контрагент) КАК КонтрагентПредставление,
                                                     |    ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК НоменклатураБазоваяЕдиницаИзмеренияПредставление,
                                                     |    ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
                                                     |    ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот,
                                                     |    ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
                                                     |    ИсточникДанных.НДСОборот КАК НДСОборот,
                                                     |    ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов,
                                                     |    ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд,
                                                     |    ВЫБОР
                                                     |        КОГДА ИсточникДанных.СтоимостьБезСкидокОборот = 0
                                                     |            ТОГДА 0
                                                     |        ИНАЧЕ (ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот) / ИсточникДанных.СтоимостьБезСкидокОборот * 100
                                                     |    КОНЕЦ КАК ПроцентСкидки,
                                                     |    ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот КАК СуммаСкидки,
                                                     |    ИсточникДанных.Регистратор КАК Регистратор,
                                                     |    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление,
                                                     |    ИсточникДанных.Период КАК Период,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) КАК ПериодДень,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) КАК ПериодНеделя,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) КАК ПериодДекада,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) КАК ПериодМесяц,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) КАК ПериодКвартал,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
                                                     |    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) КАК ПериодГод
                                                     |{ВЫБРАТЬ
                                                     |    Номенклатура.*,
                                                     |    ХарактеристикаНоменклатуры.*,
                                                     |    ЗаказПокупателя.*,
                                                     |    ДоговорКонтрагента.*,
                                                     |    ДокументПродажи.*,
                                                     |    Подразделение.*,
                                                     |    Проект.*,
                                                     |    Организация.*,
                                                     |    Контрагент.*,
                                                     |    НоменклатураБазоваяЕдиницаИзмерения.*,
                                                     |    КоличествоОборот,
                                                     |    СтоимостьОборот,
                                                     |    СтоимостьБезСкидокОборот,
                                                     |    НДСОборот,
                                                     |    КоличествоЕдиницОтчетов,
                                                     |    КоличествоБазовыхЕд,
                                                     |    ПроцентСкидки,
                                                     |    СуммаСкидки,
                                                     |    Регистратор.* КАК Регистратор,
                                                     |    Период КАК Период,
                                                     |    ПериодДень,
                                                     |    ПериодНеделя,
                                                     |    ПериодДекада,
                                                     |    ПериодМесяц,
                                                     |    ПериодКвартал,
                                                     |    ПериодПолугодие,
                                                     |    ПериодГод}
                                                     |ИЗ
                                                     |    РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДокументПродажи).* КАК ДокументПродажи, (Подразделение).* КАК Подразделение, (Проект).* КАК Проект, (Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ИсточникДанных
                                                     |{ГДЕ
                                                     |    ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
                                                     |    ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот,
                                                     |    ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
                                                     |    ИсточникДанных.НДСОборот КАК НДСОборот,
                                                     |    (ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоЕдиницОтчетов,
                                                     |    (ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕд,
                                                     |    (ВЫБОР
                                                     |            КОГДА ИсточникДанных.СтоимостьБезСкидокОборот = 0
                                                     |                ТОГДА 0
                                                     |            ИНАЧЕ (ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот) / ИсточникДанных.СтоимостьБезСкидокОборот * 100
                                                     |        КОНЕЦ) КАК ПроцентСкидки,
                                                     |    (ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот) КАК СуммаСкидки,
                                                     |    ИсточникДанных.Регистратор.* КАК Регистратор,
                                                     |    ИсточникДанных.Период КАК Период,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ)) КАК ПериодДень,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА)) КАК ПериодДекада,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ)) КАК ПериодМесяц,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ)) КАК ПериодКвартал,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие,
                                                     |    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД)) КАК ПериодГод}
                                                     |{УПОРЯДОЧИТЬ ПО
                                                     |    Номенклатура.*,
                                                     |    ХарактеристикаНоменклатуры.*,
                                                     |    ЗаказПокупателя.*,
                                                     |    ДоговорКонтрагента.*,
                                                     |    ДокументПродажи.*,
                                                     |    Подразделение.*,
                                                     |    Проект.*,
                                                     |    Организация.*,
                                                     |    Контрагент.*,
                                                     |    НоменклатураБазоваяЕдиницаИзмерения.*,
                                                     |    КоличествоОборот,
                                                     |    СтоимостьОборот,
                                                     |    СтоимостьБезСкидокОборот,
                                                     |    НДСОборот,
                                                     |    КоличествоЕдиницОтчетов,
                                                     |    КоличествоБазовыхЕд,
                                                     |    ПроцентСкидки,
                                                     |    СуммаСкидки,
                                                     |    Регистратор.*,
                                                     |    Период,
                                                     |    ПериодДень,
                                                     |    ПериодНеделя,
                                                     |    ПериодДекада,
                                                     |    ПериодМесяц,
                                                     |    ПериодКвартал,
                                                     |    ПериодПолугодие,
                                                     |    ПериодГод}
                                                     |ИТОГИ
                                                     |    СУММА(КоличествоОборот),
                                                     |    СУММА(СтоимостьОборот),
                                                     |    СУММА(СтоимостьБезСкидокОборот),
                                                     |    СУММА(НДСОборот),
                                                     |    СУММА(КоличествоЕдиницОтчетов),
                                                     |    СУММА(КоличествоБазовыхЕд),
                                                     |    ВЫБОР
                                                     |        КОГДА СУММА(СтоимостьБезСкидокОборот) = 0
                                                     |            ТОГДА 0
                                                     |        ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100
                                                     |    КОНЕЦ КАК ПроцентСкидки,
                                                     |    СУММА(СуммаСкидки)
                                                     |ПО
                                                     |    ОБЩИЕ
                                                     |{ИТОГИ ПО
                                                     |    Номенклатура.*,
                                                     |    ХарактеристикаНоменклатуры.*,
                                                     |    ЗаказПокупателя.*,
                                                     |    ДоговорКонтрагента.*,
                                                     |    ДокументПродажи.*,
                                                     |    Подразделение.*,
                                                     |    Проект.*,
                                                     |    Организация.*,
                                                     |    Контрагент.*,
                                                     |    НоменклатураБазоваяЕдиницаИзмерения.*,
                                                     |    Регистратор.*,
                                                     |    Период,
                                                     |    ПериодДень,
                                                     |    ПериодНеделя,
                                                     |    ПериодДекада,
                                                     |    ПериодМесяц,
                                                     |    ПериодКвартал,
                                                     |    ПериодПолугодие,
                                                     |    ПериодГод}"
8
   FIXXXL
 
8 - 13.09.12 - 16:22
(7) свой запрос, текст которого в УО ставишь покажи
   Mastekor
 
9 - 13.09.12 - 16:28
Эм, а надо свой запрос с нуля строить? Я думал можно будет подхватить этот запрос и в него вставить что-нить типа

ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО ИсточникДанных.Контрагент = Контрагенты.Ссылка
12
   Classic
 
10 - 13.09.12 - 16:29
ПРАВОЕ СОЕДИНЕНИЕ :)
 
 
   Mastekor
 
11 - 13.09.12 - 16:32
Ну, как бы суть дела не меняет :(
Список из 10 контрагенто, у 3 нет продаж за сентябрь, в отчете и вижу всего 7. Те троу, у которых ничего не было, в отчет не попали (
12
   Classic
 
12 - 13.09.12 - 16:33
(11)
Меняет конечно
Ты в (9) мыслишь правильное, только тебе надо не левое соединение, а правое.
   Mastekor
 
13 - 13.09.12 - 16:35
Я только что попробовал левое, после правое, после полное, результат отчета одинаковый
16
   and2
 
14 - 13.09.12 - 16:37
левое, правое, полное....

пока нет 22 см - все одинаково будет....
   and2
 
15 - 13.09.12 - 16:44
посмеялся :)
   shuhard
 
16 - 13.09.12 - 16:48
(13) возьми с ИТС консоль запросов и воткни в неё:
ВЫБРАТЬ
    Контрагенты.Ссылка,
    ПродажиОбороты.КоличествоОборот
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
        ПО ПродажиОбороты.Контрагент = Контрагенты.Ссылка
ГДЕ
    Контрагенты.Покупатель = Истина

и найди 10 отличий
   Mastekor
 
17 - 13.09.12 - 17:15
Я наверное тупой... Маленькие запросы работают без проблем, и всегда работали, у меня беда конкретно с этим, может я список отбора не там вставляю или ещё какой параметр не задал, но этот запрос у меня не пашет и не меняется. Сейчас он имеет вот такой вид.

ВЫБРАТЬ РАЗРЕШЕННЫЕ
Контрагенты.Ссылка,
//Тут остальная куча всего
 
|ИЗ
|    Справочник.Контрагенты КАК Контрагенты
|        ПРАВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДокументПродажи).* КАК ДокументПродажи, (Подразделение).* КАК Подразделение, (Проект).* КАК Проект, (Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ПродажиОбороты
|        ПО Контрагенты.Ссылка = ПродажиОбороты.Контрагент
|ГДЕ
|    Контрагенты.Покупатель = &Истина
|{ГДЕ
|    ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
|    ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
//И так далее до конца запроса
18
22
   shuhard
 
18 - 13.09.12 - 17:17
(17)[&Истина]
пипец
   Mastekor
 
19 - 13.09.12 - 17:29
пипец
   Mastekor
 
20 - 13.09.12 - 17:31
в 1С есть где-нить аналог MSDN? (Про 1С 8.1)
21
   shuhard
 
21 - 13.09.12 - 17:51
   Classic
 
22 - 13.09.12 - 17:54
(17)
Если первым ставишь справочник, то левое
   Mastekor
 
23 - 14.09.12 - 09:43
А не может влиять на это то, что у меня задан мой отбор?
УниверсальныйОтчет.ДобавитьОтбор("Контрагент.ИНН", Истина, ВидСравнения.ВСписке, ОтборИНН);
Список я заполняю из экселя.
   Mastekor
 
24 - 14.09.12 - 12:08
Разобрался. Я забыл присвоить текстзапроса построителю, поэтому не было изменений.
Но теперь другой ньюанс. В экселе у меня просто список инн и ряд из них просто отсутствует.
Как мне продолжить таблицу отчета выведя например снизу те инн, что нет в списке контрагентов?
25
   shuhard
 
25 - 14.09.12 - 12:15
(24) Объединить Всё

но в постановке задачи что-то не так
если в отчете все контрагенты, то чей ИНН выводить
   Mastekor
 
26 - 14.09.12 - 12:31
Эм... Ща попробую задачу обрисовать.
Есть эксель, в нем перечислены организации с ИНН. Суть задачи такова:
Сделать за определенный период выборку по продажам этим организациям.
Организация как могла работать с нами, так и попасть в поле нашего зрения впервые.
Соответственно отчет должен иметь в себе данные
1. Организация - сумма продаж за опр. период или по периодам
2. Организация - 0 - это если за этот период не было продаж, но организация есть в нашей базе.
3. ИНН организации - если его нет в нашей базе.

Я решил, что мне подойдет отчет по продажам. сохранил отчет по продажам в файл и начал редактировать.
Задал настройки, подгрузил список инн из экселя. И собственно столкнулся с выше описанными проблемами.

Я просто с 1С всего 5 месяцев знаком из которых 2 ходил на курсы (фиговые кстати), другие языки типа c++, c# знаю хорошо, SQL знаю хорошо.
Если бы это был один из этих языков, то я бы сделал:
1. запрос к базе по ИНН - получил список всех существующих ИНН
2. По существующим ИНН я бы сделал запрос к Продажам за опр. период. - получил бы суммы продаж
3. свел бы в единую таблицу, примерно такого плана
Строки: ИНН найденные в продажах за период - сумма по найденым ИНН
строки: ИНН не найденные в продажах за период - 0
Строки: ИНН из списка не найдены в контрагентах. - "-"

Пытался реализовать подобное в 1С но сказывается нехватка опыта и знаний по тому, как все это реализуется в 1С :(
Вот...
27
   shuhard
 
27 - 14.09.12 - 12:36
(26)[, SQL знаю хорошо. ]
ну так напиши запрос в СКД и не парь форуму мозги
   Mastekor
 
28 - 14.09.12 - 13:25
А не подскажите, где взять СКД для 8.1?
Прошу прощения, если спросил глупость
   Mastekor
 
29 - 14.09.12 - 13:25
Реально глупость спросил. тема исчерпалась :)

 

Список тем форума

 
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.