|
Отчет о продажах (свой) | ☑ | ||
---|---|---|---|---|
0
Mastekor
11.09.12
✎
10:06
|
Здравствуйте. Такая вот ситуация надо сделать отчет по опр. контрагентам за опр. период. Список контрагентов находится во внешнем файле. Я сделал аналогичный отчет на базе универсального, подгрузил свой список, все работает, все выводится, но есть один ньюанс. Если за выбранный период у контрагента не было покупок, то он в результаты отчета не попадает. А мне хотелось бы видеть его в списке, пусть данные будут пустые или нули, но, чтобы в списке был. Поскольку сам 1С изучаю не сильно давно, подскажите, в какую сторону мне стоит смотреть?
З.Ы. Может есть какой параметр у универсального отчета, чтобы вывести все результаты или что-нить в этом роде? З.Ы.2. Запрос я не трогал (если честно, то его в выгруженном мною файле даже нету :() |
|||
1
Baker_it
11.09.12
✎
10:06
|
Левое соединение со справочником контрагенты.
|
|||
2
Baker_it
11.09.12
✎
10:07
|
вернее справочник контрагенты левое соединение с регистром(и) продаж))
|
|||
3
DrShad
11.09.12
✎
10:08
|
придется трогать запрос
|
|||
4
kolanych
11.09.12
✎
10:10
|
Настаиваю на правом соединении. Наше дело - правое.
|
|||
5
Mastekor
11.09.12
✎
10:19
|
Мм... а как тронуть запрос? :) В файлах что у мены выгрузились запроса нет вообще, он где-то в конфигурации
|
|||
6
DrShad
11.09.12
✎
10:29
|
(5) свой подсунь
|
|||
7
Mastekor
13.09.12
✎
16:11
|
Нашел текст запроса, вот только он какой-то не такой... :( Никак не пойму, куда и что там подставляить...
ВЫБРАТЬ РАЗРЕШЕННЫЕ | ИсточникДанных.Номенклатура КАК Номенклатура, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление, | ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, | ИсточникДанных.ЗаказПокупателя КАК ЗаказПокупателя, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, | ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление, | ИсточникДанных.ДокументПродажи КАК ДокументПродажи, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументПродажи) КАК ДокументПродажиПредставление, | ИсточникДанных.Подразделение КАК Подразделение, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение) КАК ПодразделениеПредставление, | ИсточникДанных.Проект КАК Проект, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Проект) КАК ПроектПредставление, | ИсточникДанных.Организация КАК Организация, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация) КАК ОрганизацияПредставление, | ИсточникДанных.Контрагент КАК Контрагент, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Контрагент) КАК КонтрагентПредставление, | ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК НоменклатураБазоваяЕдиницаИзмеренияПредставление, | ИсточникДанных.КоличествоОборот КАК КоличествоОборот, | ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, | ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, | ИсточникДанных.НДСОборот КАК НДСОборот, | ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов, | ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд, | ВЫБОР | КОГДА ИсточникДанных.СтоимостьБезСкидокОборот = 0 | ТОГДА 0 | ИНАЧЕ (ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот) / ИсточникДанных.СтоимостьБезСкидокОборот * 100 | КОНЕЦ КАК ПроцентСкидки, | ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот КАК СуммаСкидки, | ИсточникДанных.Регистратор КАК Регистратор, | ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление, | ИсточникДанных.Период КАК Период, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) КАК ПериодДень, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) КАК ПериодНеделя, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) КАК ПериодДекада, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) КАК ПериодМесяц, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) КАК ПериодКвартал, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, | НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) КАК ПериодГод |{ВЫБРАТЬ | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | ДоговорКонтрагента.*, | ДокументПродажи.*, | Подразделение.*, | Проект.*, | Организация.*, | Контрагент.*, | НоменклатураБазоваяЕдиницаИзмерения.*, | КоличествоОборот, | СтоимостьОборот, | СтоимостьБезСкидокОборот, | НДСОборот, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕд, | ПроцентСкидки, | СуммаСкидки, | Регистратор.* КАК Регистратор, | Период КАК Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} |ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДокументПродажи).* КАК ДокументПродажи, (Подразделение).* КАК Подразделение, (Проект).* КАК Проект, (Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ИсточникДанных |{ГДЕ | ИсточникДанных.КоличествоОборот КАК КоличествоОборот, | ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот, | ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот, | ИсточникДанных.НДСОборот КАК НДСОборот, | (ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ИсточникДанных.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК КоличествоЕдиницОтчетов, | (ИсточникДанных.КоличествоОборот * ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент) КАК КоличествоБазовыхЕд, | (ВЫБОР | КОГДА ИсточникДанных.СтоимостьБезСкидокОборот = 0 | ТОГДА 0 | ИНАЧЕ (ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот) / ИсточникДанных.СтоимостьБезСкидокОборот * 100 | КОНЕЦ) КАК ПроцентСкидки, | (ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот) КАК СуммаСкидки, | ИсточникДанных.Регистратор.* КАК Регистратор, | ИсточникДанных.Период КАК Период, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ)) КАК ПериодДень, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ)) КАК ПериодНеделя, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА)) КАК ПериодДекада, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ)) КАК ПериодМесяц, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ)) КАК ПериодКвартал, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие, | (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД)) КАК ПериодГод} |{УПОРЯДОЧИТЬ ПО | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | ДоговорКонтрагента.*, | ДокументПродажи.*, | Подразделение.*, | Проект.*, | Организация.*, | Контрагент.*, | НоменклатураБазоваяЕдиницаИзмерения.*, | КоличествоОборот, | СтоимостьОборот, | СтоимостьБезСкидокОборот, | НДСОборот, | КоличествоЕдиницОтчетов, | КоличествоБазовыхЕд, | ПроцентСкидки, | СуммаСкидки, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод} |ИТОГИ | СУММА(КоличествоОборот), | СУММА(СтоимостьОборот), | СУММА(СтоимостьБезСкидокОборот), | СУММА(НДСОборот), | СУММА(КоличествоЕдиницОтчетов), | СУММА(КоличествоБазовыхЕд), | ВЫБОР | КОГДА СУММА(СтоимостьБезСкидокОборот) = 0 | ТОГДА 0 | ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100 | КОНЕЦ КАК ПроцентСкидки, | СУММА(СуммаСкидки) |ПО | ОБЩИЕ |{ИТОГИ ПО | Номенклатура.*, | ХарактеристикаНоменклатуры.*, | ЗаказПокупателя.*, | ДоговорКонтрагента.*, | ДокументПродажи.*, | Подразделение.*, | Проект.*, | Организация.*, | Контрагент.*, | НоменклатураБазоваяЕдиницаИзмерения.*, | Регистратор.*, | Период, | ПериодДень, | ПериодНеделя, | ПериодДекада, | ПериодМесяц, | ПериодКвартал, | ПериодПолугодие, | ПериодГод}" |
|||
8
FIXXXL
13.09.12
✎
16:22
|
(7) свой запрос, текст которого в УО ставишь покажи
|
|||
9
Mastekor
13.09.12
✎
16:28
|
Эм, а надо свой запрос с нуля строить? Я думал можно будет подхватить этот запрос и в него вставить что-нить типа
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО ИсточникДанных.Контрагент = Контрагенты.Ссылка |
|||
10
Classic
13.09.12
✎
16:29
|
ПРАВОЕ СОЕДИНЕНИЕ :)
|
|||
11
Mastekor
13.09.12
✎
16:32
|
Ну, как бы суть дела не меняет :(
Список из 10 контрагенто, у 3 нет продаж за сентябрь, в отчете и вижу всего 7. Те троу, у которых ничего не было, в отчет не попали ( |
|||
12
Classic
13.09.12
✎
16:33
|
(11)
Меняет конечно Ты в (9) мыслишь правильное, только тебе надо не левое соединение, а правое. |
|||
13
Mastekor
13.09.12
✎
16:35
|
Я только что попробовал левое, после правое, после полное, результат отчета одинаковый
|
|||
14
and2
13.09.12
✎
16:37
|
левое, правое, полное....
пока нет 22 см - все одинаково будет.... |
|||
15
and2
13.09.12
✎
16:44
|
посмеялся :)
|
|||
16
shuhard
13.09.12
✎
16:48
|
(13) возьми с ИТС консоль запросов и воткни в неё:
ВЫБРАТЬ Контрагенты.Ссылка, ПродажиОбороты.КоличествоОборот ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ПО ПродажиОбороты.Контрагент = Контрагенты.Ссылка ГДЕ Контрагенты.Покупатель = Истина и найди 10 отличий |
|||
17
Mastekor
13.09.12
✎
17:15
|
Я наверное тупой... Маленькие запросы работают без проблем, и всегда работали, у меня беда конкретно с этим, может я список отбора не там вставляю или ещё какой параметр не задал, но этот запрос у меня не пашет и не меняется. Сейчас он имеет вот такой вид.
ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагенты.Ссылка, //Тут остальная куча всего |ИЗ | Справочник.Контрагенты КАК Контрагенты | ПРАВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (ДокументПродажи).* КАК ДокументПродажи, (Подразделение).* КАК Подразделение, (Проект).* КАК Проект, (Организация).* КАК Организация, (Контрагент).* КАК Контрагент, (Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ПродажиОбороты | ПО Контрагенты.Ссылка = ПродажиОбороты.Контрагент |ГДЕ | Контрагенты.Покупатель = &Истина |{ГДЕ | ПродажиОбороты.КоличествоОборот КАК КоличествоОборот, | ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот, //И так далее до конца запроса |
|||
18
shuhard
13.09.12
✎
17:17
|
(17)[&Истина]
пипец |
|||
19
Mastekor
13.09.12
✎
17:29
|
пипец
|
|||
20
Mastekor
13.09.12
✎
17:31
|
в 1С есть где-нить аналог MSDN? (Про 1С 8.1)
|
|||
21
shuhard
13.09.12
✎
17:51
|
(20) http://its.1c.ru/
|
|||
22
Classic
13.09.12
✎
17:54
|
(17)
Если первым ставишь справочник, то левое |
|||
23
Mastekor
14.09.12
✎
09:43
|
А не может влиять на это то, что у меня задан мой отбор?
УниверсальныйОтчет.ДобавитьОтбор("Контрагент.ИНН", Истина, ВидСравнения.ВСписке, ОтборИНН); Список я заполняю из экселя. |
|||
24
Mastekor
14.09.12
✎
12:08
|
Разобрался. Я забыл присвоить текстзапроса построителю, поэтому не было изменений.
Но теперь другой ньюанс. В экселе у меня просто список инн и ряд из них просто отсутствует. Как мне продолжить таблицу отчета выведя например снизу те инн, что нет в списке контрагентов? |
|||
25
shuhard
14.09.12
✎
12:15
|
(24) Объединить Всё
но в постановке задачи что-то не так если в отчете все контрагенты, то чей ИНН выводить |
|||
26
Mastekor
14.09.12
✎
12:31
|
Эм... Ща попробую задачу обрисовать.
Есть эксель, в нем перечислены организации с ИНН. Суть задачи такова: Сделать за определенный период выборку по продажам этим организациям. Организация как могла работать с нами, так и попасть в поле нашего зрения впервые. Соответственно отчет должен иметь в себе данные 1. Организация - сумма продаж за опр. период или по периодам 2. Организация - 0 - это если за этот период не было продаж, но организация есть в нашей базе. 3. ИНН организации - если его нет в нашей базе. Я решил, что мне подойдет отчет по продажам. сохранил отчет по продажам в файл и начал редактировать. Задал настройки, подгрузил список инн из экселя. И собственно столкнулся с выше описанными проблемами. Я просто с 1С всего 5 месяцев знаком из которых 2 ходил на курсы (фиговые кстати), другие языки типа c++, c# знаю хорошо, SQL знаю хорошо. Если бы это был один из этих языков, то я бы сделал: 1. запрос к базе по ИНН - получил список всех существующих ИНН 2. По существующим ИНН я бы сделал запрос к Продажам за опр. период. - получил бы суммы продаж 3. свел бы в единую таблицу, примерно такого плана Строки: ИНН найденные в продажах за период - сумма по найденым ИНН строки: ИНН не найденные в продажах за период - 0 Строки: ИНН из списка не найдены в контрагентах. - "-" Пытался реализовать подобное в 1С но сказывается нехватка опыта и знаний по тому, как все это реализуется в 1С :( Вот... |
|||
27
shuhard
14.09.12
✎
12:36
|
(26)[, SQL знаю хорошо. ]
ну так напиши запрос в СКД и не парь форуму мозги |
|||
28
Mastekor
14.09.12
✎
13:25
|
А не подскажите, где взять СКД для 8.1?
Прошу прощения, если спросил глупость |
|||
29
Mastekor
14.09.12
✎
13:25
|
Реально глупость спросил. тема исчерпалась :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |