Помогите, сейчас умру...😫.
Внешний отчет на КА 2.5...
Был работающий отчет (с наборами данных) ... попросили вывести общие итоги... Общие итоги выводились не корректно... Приняла решение соединить наборы данных в 1 запрос... теперь выводится какая-то билиберда (все по 2)... Не вижу уже, взе замылилось... целую неделю сижу с этим((((
(1 - как было)
(2 - как стало)
Внешний отчет на КА 2.5...
Был работающий отчет (с наборами данных) ... попросили вывести общие итоги... Общие итоги выводились не корректно... Приняла решение соединить наборы данных в 1 запрос... теперь выводится какая-то билиберда (все по 2)... Не вижу уже, взе замылилось... целую неделю сижу с этим((((
(1 - как было)
(2 - как стало)
ВЫБРАТЬ
ПроизводствоБезЗаказа.Ссылка КАК Ссылка,
ПроизводствоБезЗаказа.Дата КАК Дата,
ПроизводствоБезЗаказаВыходныеИзделия.Ссылка КАК СсылкаМар,
ПроизводствоБезЗаказаВыходныеИзделия.Номенклатура КАК Марка,
ПроизводствоБезЗаказаВыходныеИзделия.Спецификация КАК Спецификация,
СУММА(ВЫБОР
КОГДА ПроизводствоБезЗаказаВыходныеИзделия.Упаковка.Наименование = "т"
ТОГДА ПроизводствоБезЗаказаВыходныеИзделия.КоличествоУпаковок
ИНАЧЕ ВЫБОР
КОГДА ПроизводствоБезЗаказаВыходныеИзделия.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
ИЛИ ПроизводствоБезЗаказаВыходныеИзделия.Упаковка.Наименование = "кг"
ТОГДА ПроизводствоБезЗаказаВыходныеИзделия.КоличествоУпаковок / 1000
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КоличествоУпаковок,
ПроизводствоБезЗаказаВыходныеИзделия.НомерГруппыЗатрат КАК НомерГруппыЗатрат
ПОМЕСТИТЬ втМарка
ИЗ
Документ.ПроизводствоБезЗаказа КАК ПроизводствоБезЗаказа
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроизводствоБезЗаказа.ВыходныеИзделия КАК ПроизводствоБезЗаказаВыходныеИзделия
ПО ПроизводствоБезЗаказаВыходныеИзделия.Ссылка = ПроизводствоБезЗаказа.Ссылка
ГДЕ
ПроизводствоБезЗаказа.Проведен
{ГДЕ
(ПроизводствоБезЗаказа.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания) КАК Дата}
СГРУППИРОВАТЬ ПО
ПроизводствоБезЗаказаВыходныеИзделия.Номенклатура,
ПроизводствоБезЗаказа.Ссылка,
ПроизводствоБезЗаказа.Дата,
ПроизводствоБезЗаказаВыходныеИзделия.Ссылка,
ПроизводствоБезЗаказаВыходныеИзделия.Спецификация,
ПроизводствоБезЗаказаВыходныеИзделия.НомерГруппыЗатрат
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура КАК Номенклатура,
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
СУММА(ЕСТЬNULL(ПроизводствоБезЗаказаМатериалыИРаботы.КоличествоУпаковок, 0)) КАК КоличествоФ,
ПроизводствоБезЗаказаМатериалыИРаботы.Ссылка КАК Ссылка,
ПроизводствоБезЗаказаМатериалыИРаботы.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
ПроизводствоБезЗаказаМатериалыИРаботы.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура
ПОМЕСТИТЬ втМатериалыФ
ИЗ
Документ.ПроизводствоБезЗаказа.МатериалыИРаботы КАК ПроизводствоБезЗаказаМатериалыИРаботы
СГРУППИРОВАТЬ ПО
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура,
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура.ЕдиницаИзмерения,
ПроизводствоБезЗаказаМатериалыИРаботы.Ссылка,
ПроизводствоБезЗаказаМатериалыИРаботы.НомерГруппыЗатрат,
ПроизводствоБезЗаказаМатериалыИРаботы.АналитикаУчетаНоменклатуры.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
РесурсныеСпецификацииМатериалыИУслуги.Номенклатура КАК Номенклатура,
ЕСТЬNULL(РесурсныеСпецификацииМатериалыИУслуги.КоличествоУпаковок, 0) КАК КоличествоП,
РесурсныеСпецификацииМатериалыИУслуги.Ссылка КАК Спецификация,
втМарка.Спецификация КАК Спецификация1
ПОМЕСТИТЬ втМатериалыП
ИЗ
втМарка КАК втМарка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РесурсныеСпецификации.МатериалыИУслуги КАК РесурсныеСпецификацииМатериалыИУслуги
ПО втМарка.Спецификация = РесурсныеСпецификацииМатериалыИУслуги.Ссылка
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СУММА(ЕСТЬNULL(СебестоимостьТоваров.СтоимостьРегл, 0)) КАК Стоимость,
СУММА(ЕСТЬNULL(СебестоимостьТоваров.Количество, 0)) КАК Количество,
втМатериалыФ.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ Себестоимость
ИЗ
втМатериалыФ КАК втМатериалыФ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров КАК СебестоимостьТоваров
ПО втМатериалыФ.Номенклатура = СебестоимостьТоваров.АналитикаУчетаНоменклатуры.Номенклатура
И втМатериалыФ.Ссылка = СебестоимостьТоваров.Регистратор
СГРУППИРОВАТЬ ПО
втМатериалыФ.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СУММА(ЕСТЬNULL(СебестоимостьТоваровОбороты.СтоимостьРасход, 0)) КАК ОСтоимость,
СУММА(ЕСТЬNULL(СебестоимостьТоваровОбороты.КоличествоРасход, 0)) КАК ОКоличество,
втМатериалыП.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ СебестоимостьО
ИЗ
втМатериалыП КАК втМатериалыП
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров.Обороты КАК СебестоимостьТоваровОбороты
ПО втМатериалыП.Номенклатура = СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Номенклатура
СГРУППИРОВАТЬ ПО
втМатериалыП.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
втМарка.Ссылка КАК Ссылка,
втМарка.Дата КАК Дата,
втМарка.Марка КАК Марка,
втМарка.Спецификация КАК Спецификация,
СУММА(ЕСТЬNULL(втМарка.КоличествоУпаковок, 0)) КАК КоличествоУпаковок,
втМатериалыП.Номенклатура КАК Номенклатура,
СУММА(ЕСТЬNULL(втМатериалыП.КоличествоП, 0)) КАК КоличествоП,
СУММА(0) КАК КоличествоФ
ПОМЕСТИТЬ втИтог
ИЗ
втМарка КАК втМарка
ПОЛНОЕ СОЕДИНЕНИЕ втМатериалыП КАК втМатериалыП
ПО втМарка.Спецификация = втМатериалыП.Спецификация
СГРУППИРОВАТЬ ПО
втМарка.Ссылка,
втМарка.Дата,
втМарка.Марка,
втМарка.Спецификация,
втМатериалыП.Номенклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ РАЗЛИЧНЫЕ
втМарка.Ссылка,
втМарка.Дата,
втМарка.Марка,
втМарка.Спецификация,
СУММА(ЕСТЬNULL(втМарка.КоличествоУпаковок, 0)),
втМатериалыФ.Номенклатура,
СУММА(0),
СУММА(ЕСТЬNULL(втМатериалыФ.КоличествоФ, 0))
ИЗ
втМарка КАК втМарка
ЛЕВОЕ СОЕДИНЕНИЕ втМатериалыФ КАК втМатериалыФ
ПО втМарка.НомерГруппыЗатрат = втМатериалыФ.НомерГруппыЗатрат
И втМарка.Ссылка = втМатериалыФ.Ссылка
СГРУППИРОВАТЬ ПО
втМатериалыФ.Номенклатура,
втМарка.Ссылка,
втМарка.Дата,
втМарка.Марка,
втМарка.Спецификация
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
втИтог.Ссылка КАК Ссылка,
втИтог.Дата КАК Дата,
втИтог.Марка КАК Марка,
втИтог.Спецификация КАК Спецификация,
СУММА(втИтог.КоличествоУпаковок) КАК КоличествоУпаковок,
втИтог.Номенклатура КАК Номенклатура,
СУММА(втИтог.КоличествоП) КАК КоличествоП,
СУММА(втИтог.КоличествоФ) КАК КоличествоФ
ПОМЕСТИТЬ втГрупп
ИЗ
втИтог КАК втИтог
СГРУППИРОВАТЬ ПО
втИтог.Ссылка,
втИтог.Дата,
втИтог.Марка,
втИтог.Спецификация,
втИтог.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
втГрупп.Ссылка КАК Ссылка,
втГрупп.Дата КАК Дата,
втГрупп.Марка КАК Марка,
втГрупп.Спецификация КАК Спецификация,
втГрупп.КоличествоУпаковок КАК КоличествоУпаковок,
втГрупп.Номенклатура КАК Номенклатура,
втГрупп.КоличествоП КАК КоличествоП,
втГрупп.КоличествоФ КАК КоличествоФ,
ВЫБОР
КОГДА НЕ Себестоимость.Стоимость ЕСТЬ NULL
ТОГДА Себестоимость.Стоимость / ВЫБОР
КОГДА Себестоимость.Количество = 0
ТОГДА 1
ИНАЧЕ Себестоимость.Количество
КОНЕЦ
ИНАЧЕ СебестоимостьО.ОСтоимость / ВЫБОР
КОГДА СебестоимостьО.ОКоличество = 0
ТОГДА 1
ИНАЧЕ СебестоимостьО.ОКоличество
КОНЕЦ
КОНЕЦ КАК Себестоимость
ИЗ
втГрупп КАК втГрупп
ЛЕВОЕ СОЕДИНЕНИЕ Себестоимость КАК Себестоимость
ПО втГрупп.Номенклатура = Себестоимость.Номенклатура
И (втГрупп.КоличествоФ > 0)
ЛЕВОЕ СОЕДИНЕНИЕ СебестоимостьО КАК СебестоимостьО
ПО втГрупп.Номенклатура = СебестоимостьО.Номенклатура
И (втГрупп.КоличествоФ = 0)
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Хранение настроек внешних отчетов на СКД в 1С
- Внешний отчет на СКД по документам Сборка товаров - считаем количество номенклатуры
- Шаблон внешнего отчета на СКД
- Внешний отчет на СКД "Ошибки и предупреждения журнала регистрации". Для любой типовой конфигурации 1С: Предприятие 8.3
- Внешний отчет на СКД "Ошибки технологического журнала". Для любой типовой конфигурации 1С: Предприятие 8.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
При использовании наборов данных СКД верно считает итоги при наличии дублей в подчиненном наборе. Если изменили на получение данные в 1 наборе - избавление от дублей ваша проблема.
Если изначально проблема была в итогах, то попробуйте использовать свои выражения для вычисления.
Если изначально проблема была в итогах, то попробуйте использовать свои выражения для вычисления.
Хотя может тогда кто подскажет, как от этого дела избавиться, и тогда должно встать все на свои места... Не группировкой (так плохо считает), а на уровне запроса...
(Не нашла как код подцепить 🙄)
ВЫБРАТЬ
ПроизводствоБезЗаказа.Ссылка КАК Ссылка,
ПроизводствоБезЗаказа.Дата КАК Дата,
ПроизводствоБезЗаказаВыходныеИзделия.Ссылка КАК СсылкаМар,
ПроизводствоБезЗаказаВыходныеИзделия.Номенклатура КАК Марка,
ПроизводствоБезЗаказаВыходныеИзделия.Спецификация КАК Спецификация,
СУММА(ВЫБОР
КОГДА ПроизводствоБезЗаказаВыходныеИзделия.Упаковка.Наименование = "т"
ТОГДА ПроизводствоБезЗаказаВыходныеИзделия.КоличествоУпаковок
ИНАЧЕ ВЫБОР
КОГДА ПроизводствоБезЗаказаВыходныеИзделия.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)
ИЛИ ПроизводствоБезЗаказаВыходныеИзделия.Упаковка.Наименование = "кг"
ТОГДА ПроизводствоБезЗаказаВыходныеИзделия.КоличествоУпаковок / 1000
ИНАЧЕ 0
КОНЕЦ
КОНЕЦ) КАК КоличествоУпаковок,
ПроизводствоБезЗаказаВыходныеИзделия.НомерГруппыЗатрат КАК НомерГруппыЗатрат
ПОМЕСТИТЬ втМарка
ИЗ
Документ.ПроизводствоБезЗаказа.ВыходныеИзделия КАК ПроизводствоБезЗаказаВыходныеИзделия
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПроизводствоБезЗаказа КАК ПроизводствоБезЗаказа
ПО ПроизводствоБезЗаказаВыходныеИзделия.Ссылка = ПроизводствоБезЗаказа.Ссылка
ГДЕ
ПроизводствоБезЗаказа.Проведен
{ГДЕ
(ПроизводствоБезЗаказа.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания)}
СГРУППИРОВАТЬ ПО
ПроизводствоБезЗаказаВыходныеИзделия.Номенклатура,
ПроизводствоБезЗаказа.Ссылка,
ПроизводствоБезЗаказа.Дата,
ПроизводствоБезЗаказаВыходныеИзделия.Ссылка,
ПроизводствоБезЗаказаВыходныеИзделия.Спецификация,
ПроизводствоБезЗаказаВыходныеИзделия.НомерГруппыЗатрат
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура КАК Номенклатура,
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
СУММА(ЕСТЬNULL(ПроизводствоБезЗаказаМатериалыИРаботы.КоличествоУпаковок, 0)) КАК КоличествоФ,
ПроизводствоБезЗаказаМатериалыИРаботы.Ссылка КАК Ссылка,
ПроизводствоБезЗаказаМатериалыИРаботы.НомерГруппыЗатрат КАК НомерГруппыЗатрат,
ПроизводствоБезЗаказаМатериалыИРаботы.АналитикаУчетаНоменклатуры.Номенклатура КАК АналитикаУчетаНоменклатурыНоменклатура
ПОМЕСТИТЬ втМатериалыФ
ИЗ
Документ.ПроизводствоБезЗаказа.МатериалыИРаботы КАК ПроизводствоБезЗаказаМатериалыИРаботы
СГРУППИРОВАТЬ ПО
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура,
ПроизводствоБезЗаказаМатериалыИРаботы.Номенклатура.ЕдиницаИзмерения,
ПроизводствоБезЗаказаМатериалыИРаботы.Ссылка,
ПроизводствоБезЗаказаМатериалыИРаботы.НомерГруппыЗатрат,
ПроизводствоБезЗаказаМатериалыИРаботы.АналитикаУчетаНоменклатуры.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
РесурсныеСпецификацииМатериалыИУслуги.Номенклатура КАК Номенклатура,
ЕСТЬNULL(РесурсныеСпецификацииМатериалыИУслуги.КоличествоУпаковок, 0) КАК КоличествоП,
РесурсныеСпецификацииМатериалыИУслуги.Ссылка КАК Спецификация
ПОМЕСТИТЬ втМатериалыП
ИЗ
Справочник.РесурсныеСпецификации.МатериалыИУслуги КАК РесурсныеСпецификацииМатериалыИУслуги
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
втМарка.Ссылка КАК Ссылка,
втМарка.Дата КАК Дата,
втМарка.Марка КАК Марка,
втМарка.Спецификация КАК Спецификация,
ЕСТЬNULL(втМарка.КоличествоУпаковок, 0) КАК КоличествоУпаковок,
втМатериалыП.Номенклатура КАК Номенклатура,
ЕСТЬNULL(втМатериалыП.КоличествоП, 0) КАК КоличествоП,
0 КАК КоличествоФ
ИЗ
втМарка КАК втМарка
ПОЛНОЕ СОЕДИНЕНИЕ втМатериалыП КАК втМатериалыП
ПО втМарка.Спецификация = втМатериалыП.Спецификация
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ РАЗЛИЧНЫЕ
втМарка.Ссылка,
втМарка.Дата,
втМарка.Марка,
втМарка.Спецификация,
ЕСТЬNULL(втМарка.КоличествоУпаковок, 0),
втМатериалыФ.Номенклатура,
0,
ЕСТЬNULL(втМатериалыФ.КоличествоФ, 0)
ИЗ
втМарка КАК втМарка
ЛЕВОЕ СОЕДИНЕНИЕ втМатериалыФ КАК втМатериалыФ
ПО втМарка.НомерГруппыЗатрат = втМатериалыФ.НомерГруппыЗатрат
И втМарка.Ссылка = втМатериалыФ.Ссылка
СГРУППИРОВАТЬ ПО
втМатериалыФ.Номенклатура,
втМарка.Ссылка,
втМарка.Дата,
втМарка.Марка,
втМарка.Спецификация,
ЕСТЬNULL(втМарка.КоличествоУпаковок, 0),
ЕСТЬNULL(втМатериалыФ.КоличествоФ, 0)
Показать(Не нашла как код подцепить 🙄)
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот