|
Итоги в СКД | ☑ | ||
---|---|---|---|---|
0
ejikbeznojek
12.11.15
✎
13:19
|
Есть запрос
В нём соединение 2х таблиц Таблица Накладных и таблица затрат на доставку. Если доставки было 2, то получается табличка из 2х строчек на каждую такую накладную. Накладная КоличествоНакладной СуммаЗаДоставку ТК SNL-00001 100 10р DHL SNL-00001 100 20р ЭйрТранс SNL-00002 200 10р DHL SNL-00002 200 20р ЭйрТранс Итоги 600р 60р Как сделать чтобы количество накладной суммировало в итогах правильно и получалось 300? [code] ВЫБРАТЬ РаспределениеУСОпоНакладным.Период, РаспределениеУСОпоНакладным.Регистратор, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ЕСТЬNULL(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки, ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель) ИНАЧЕ РаспределениеУСОпоНакладным.ПунктДоставки КОНЕЦ КАК ПунктДоставки, ЕСТЬNULL(РаспределениеУСОпоНакладным.Подразделение, ЗаявкаНаОтгрузкуНакладные.Накладная.Подразделение) КАК Подразделение, ЕСТЬNULL(РаспределениеУСОпоНакладным.Накладная, ЗаявкаНаОтгрузкуНакладные.Накладная) КАК Накладная, СУММА(ЕСТЬNULL(РаспределениеУСОпоНакладным.СуммаНакладной, ЗаявкаНаОтгрузкуНакладные.Накладная.СуммаДокумента)) КАК СуммаНакладной, СУММА(ЕСТЬNULL(РаспределениеУСОпоНакладным.КоличествоНакладной, ЗаявкаНаОтгрузкуНакладные.Накладная.КоличествоДокумента)) КАК КоличествоНакладной, СУММА(ЕСТЬNULL(РаспределениеУСОпоНакладным.КоличествоКоробок, ЗаявкаНаОтгрузкуНакладные.КоличествоКоробок)) КАК КоличествоКоробок, ЕСТЬNULL(РаспределениеУСОпоНакладным.ДатаОтгрузки, ЗаявкаНаОтгрузкуНакладные.Ссылка.ДатаОтгрузки) КАК ДатаОтгрузки, ЕСТЬNULL(РаспределениеУСОпоНакладным.Контрагент, ЗаявкаНаОтгрузкуНакладные.Получатель) КАК Контрагент, СУММА(ЕСТЬNULL(РаспределениеУСОпоНакладным.ОбъемНаладной, ЗаявкаНаОтгрузкуНакладные.Объем)) КАК ОбъемНаладной, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА "Не распределено!!!!!!!!" ИНАЧЕ ЕСТЬNULL(РаспределениеУСОпоНакладным.Регистратор.Контрагент, "ОВЛ") КОНЕЦ КАК ТранспортнаяКомпания, НАЧАЛОПЕРИОДА(ЗаявкаНаОтгрузкуНакладные.Ссылка.ДатаОтгрузки, МЕСЯЦ) КАК ПериодМесяц, ВЫБОР КОГДА СУММА(РаспределениеУСОпоНакладным.СуммаНакладной) = 0 ТОГДА 0 ИНАЧЕ 100 * СУММА(РаспределениеУСОпоНакладным.РаспределеннаяСумма) / РаспределениеУСОпоНакладным.СуммаНакладной КОНЕЦ КАК ПроцентНаДоставку, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" ТОГДА ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель.ПочтовыйАдрес КАК СТРОКА(100)) ИНАЧЕ ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки.ПочтовыйАдрес КАК СТРОКА(100)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(РаспределениеУСОпоНакладным.Накладная.ПунктДоставки.ПочтовыйАдрес КАК СТРОКА(100)) КОНЕЦ КАК ПочтовыйАдрес, ЕСТЬNULL(РаспределениеУСОпоНакладным.Регистратор.Автомобиль, ЗаявкаНаОтгрузкуНакладные.Автомобиль) КАК Автомобиль, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" ТОГДА ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель.АдресПолучателя КАК СТРОКА(100)) ИНАЧЕ ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(РаспределениеУСОпоНакладным.Накладная.ПунктДоставки.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ КАК АдресПолучателя, РаспределениеУСОпоНакладным.Накладная.ДатаОтгрузки КАК ПериодОтгрузки, ЗаявкаНаОтгрузкуНакладные.Автомобиль КАК АвтомобильИзЗОГ, РаспределениеУСОпоНакладным.ПериодРасходов, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" ТОГДА ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель.ПунктПерегруза.АдресПолучателя КАК СТРОКА(100)) ИНАЧЕ ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки.ПунктПерегруза.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(РаспределениеУСОпоНакладным.Накладная.ПунктДоставки.ПунктПерегруза.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ КАК АдресПерегруза, ЗаявкаНаОтгрузкуНакладные.Ссылка КАК ЗОГ, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Накладная ЕСТЬ NULL ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КАК Распределена, СУММА(РаспределениеУСОпоНакладным.РаспределеннаяСумма) КАК РаспределеннаяСумма, РаспределениеУСОпоНакладным.НомерСтроки, ЗаявкаНаОтгрузкуНакладные.ВидНакладной, ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ПНК" ТОГДА ПОДСТРОКА(ЗаявкаНаОтгрузкуНакладные.АдресОтправитель, 1, 1000) КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" И ЗаявкаНаОтгрузкуНакладные.Отправитель ССЫЛКА Справочник.Контрагенты ТОГДА ПОДСТРОКА(ЗаявкаНаОтгрузкуНакладные.АдресОтправитель, 1, 1000) ИНАЧЕ ПОДСТРОКА(ЗаявкаНаОтгрузкуНакладные.АдресПолучатель, 1, 1000) КОНЕЦ КАК АдресПолучательИзЗог, СУММА(ЗаявкаНаОтгрузкуНакладные.Накладная.ОбъемДокумента) КАК ОбъемТест ИЗ РегистрНакопления.РаспределениеУСОпоНакладным КАК РаспределениеУСОпоНакладным ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаОтгрузку.Накладные КАК ЗаявкаНаОтгрузкуНакладные ПО РаспределениеУСОпоНакладным.Накладная = ЗаявкаНаОтгрузкуНакладные.Накладная ГДЕ ЗаявкаНаОтгрузкуНакладные.Ссылка.Проведен И ЗаявкаНаОтгрузкуНакладные.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2 И ЗаявкаНаОтгрузкуНакладные.НеОтгружать = ЛОЖЬ СГРУППИРОВАТЬ ПО РаспределениеУСОпоНакладным.Период, РаспределениеУСОпоНакладным.Регистратор, РаспределениеУСОпоНакладным.Накладная.ДатаОтгрузки, ЗаявкаНаОтгрузкуНакладные.Автомобиль, РаспределениеУСОпоНакладным.ПериодРасходов, ЗаявкаНаОтгрузкуНакладные.Ссылка, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Накладная ЕСТЬ NULL ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ, ЕСТЬNULL(РаспределениеУСОпоНакладным.Накладная, ЗаявкаНаОтгрузкуНакладные.Накладная), ЕСТЬNULL(РаспределениеУСОпоНакладным.Подразделение, ЗаявкаНаОтгрузкуНакладные.Накладная.Подразделение), ЕСТЬNULL(РаспределениеУСОпоНакладным.ДатаОтгрузки, ЗаявкаНаОтгрузкуНакладные.Ссылка.ДатаОтгрузки), ЕСТЬNULL(РаспределениеУСОпоНакладным.Контрагент, ЗаявкаНаОтгрузкуНакладные.Получатель), ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА "Не распределено!!!!!!!!" ИНАЧЕ ЕСТЬNULL(РаспределениеУСОпоНакладным.Регистратор.Контрагент, "ОВЛ") КОНЕЦ, ЕСТЬNULL(РаспределениеУСОпоНакладным.Регистратор.Автомобиль, ЗаявкаНаОтгрузкуНакладные.Автомобиль), ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ЕСТЬNULL(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки, ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель) ИНАЧЕ РаспределениеУСОпоНакладным.ПунктДоставки КОНЕЦ, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" ТОГДА ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель.АдресПолучателя КАК СТРОКА(100)) ИНАЧЕ ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(РаспределениеУСОпоНакладным.Накладная.ПунктДоставки.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" ТОГДА ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель.ПочтовыйАдрес КАК СТРОКА(100)) ИНАЧЕ ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки.ПочтовыйАдрес КАК СТРОКА(100)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(РаспределениеУСОпоНакладным.Накладная.ПунктДоставки.ПочтовыйАдрес КАК СТРОКА(100)) КОНЕЦ, ВЫБОР КОГДА РаспределениеУСОпоНакладным.Регистратор ЕСТЬ NULL ТОГДА ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" ТОГДА ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставкиПолучатель.ПунктПерегруза.АдресПолучателя КАК СТРОКА(100)) ИНАЧЕ ВЫРАЗИТЬ(ЗаявкаНаОтгрузкуНакладные.Накладная.ПунктДоставки.ПунктПерегруза.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ ИНАЧЕ ВЫРАЗИТЬ(РаспределениеУСОпоНакладным.Накладная.ПунктДоставки.ПунктПерегруза.АдресПолучателя КАК СТРОКА(100)) КОНЕЦ, РаспределениеУСОпоНакладным.НомерСтроки, РаспределениеУСОпоНакладным.СуммаНакладной, ЗаявкаНаОтгрузкуНакладные.ВидНакладной, ВЫБОР КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ПНК" ТОГДА ПОДСТРОКА(ЗаявкаНаОтгрузкуНакладные.АдресОтправитель, 1, 1000) КОГДА ЗаявкаНаОтгрузкуНакладные.ВидНакладной = "ЗТО" И ЗаявкаНаОтгрузкуНакладные.Отправитель ССЫЛКА Справочник.Контрагенты ТОГДА ПОДСТРОКА(ЗаявкаНаОтгрузкуНакладные.АдресОтправитель, 1, 1000) ИНАЧЕ ПОДСТРОКА(ЗаявкаНаОтгрузкуНакладные.АдресПолучатель, 1, 1000) КОНЕЦ, НАЧАЛОПЕРИОДА(ЗаявкаНаОтгрузкуНакладные.Ссылка.ДатаОтгрузки, МЕСЯЦ) [/code] |
|||
1
ejikbeznojek
12.11.15
✎
13:20
|
p.s как сделать чтобы код сворачивался?)
попытался сейчас вначале написать [code] а в конце [/code] |
|||
2
ejikbeznojek
12.11.15
✎
13:26
|
(0) И чтобы, если я в настройках я уберу поле ТК
из этой таблички Накладная КоличествоНакладной СуммаЗаДоставку ТК SNL-00001 100 10р DHL SNL-00001 100 20р ЭйрТранс Итог 200 30 Было Накладная КоличествоНакладной СуммаЗаДоставку SNL-00001 100 30 Итог 100 30 А не Накладная КоличествоНакладной СуммаЗаДоставку SNL-00001 200 30 Итог 200 30 |
|||
3
Tetragrammathon
12.11.15
✎
13:27
|
Не соединяй в запросе тогда, а соедини наборы в СКД, или убери количество и прицепи отдельно таблицу количества.
|
|||
4
ejikbeznojek
12.11.15
✎
13:33
|
Т.е. я ещё раз добавляю 2ю накладных, соединяю по накладной с 1й таблицей. И из этой таблицы беру поле Сумма(КоличествоНакладной). Но это получается не ресурс будет, который виден в итогах
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |