8.х Как добавить во внешний отчет данные из нового регистра?

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем MyNameNoName, 5 июн 2013.

  1. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    В УПП пытаюсь привязать к отчету Анализ обеспеченности заказов на производство Аналоги номенклатуры.
    Код:
    #Если Клиент Тогда
    Перем мЕстьНЗП;    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ НАЧАЛЬНОЙ НАСТРОЙКИ ОТЧЕТА
    
    Функция СформироватьТекстЗапросаНЗП()
    ТекстЗапроса = "
    |ВЫБРАТЬ
    |        РегНЗП.Заказ КАК ЗаказНаПроизводство,
    |        РегНЗП.Затрата КАК Материал,
    |        РегНЗП.ХарактеристикаЗатраты КАК ХарактеристикаМатериала,
    |        NULL КАК Продукция,
    |        NULL КАК ХарактеристикаПродукции,
    |        РегНЗП.Затрата.ЕдиницаХраненияОстатков,
    |        NULL КАК ВидВоспроизводства,
    |        NULL КАК Спецификация,
    |        РегНЗП.Подразделение,
    |        NULL КАК Склад,
    |        NULL КАК ЗаказПоставщику,
    |        0 КАК КолПотребность,
    |        0 КАК КолРезерв,
    |        0 КАК КолРазмещено,
    |        РегНЗП.КоличествоОстаток КАК КолНЗП
    |ИЗ
    |    РегистрНакопления.НезавершенноеПроизводство.Остатки(&ДатаКон, Заказ ССЫЛКА Документ.ЗаказНаПроизводство {Заказ.*, Затрата.*, ХарактеристикаЗатраты.*}) КАК РегНЗП
    |";
    Возврат ТекстЗапроса;
    КонецФункции
    
    Функция СформироватьТекстЗапросаНЗП_РасширеннаяАналитика()
    ТекстЗапроса = "
    |    ВЫБРАТЬ
    |        ВЫРАЗИТЬ(РегистрАналитикаУчетаПартий.Заказ КАК Документ.ЗаказНаПроизводство) КАК ЗаказНаПроизводство,
    |        РегистрАналитикаУчетаЗатрат.Затрата КАК Материал,
    |        РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты КАК ХарактеристикаМатериала,
    |        NULL КАК Продукция,
    |        NULL КАК ХарактеристикаПродукции,
    |        РегистрАналитикаУчетаЗатрат.Затрата.ЕдиницаХраненияОстатков,
    |        NULL КАК ВидВоспроизводства,
    |        NULL КАК Спецификация,
    |//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
    |//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
    |        NULL КАК Склад,
    |        NULL КАК ЗаказПоставщику,
    |        0 КАК КолПотребность,
    |        0 КАК КолРезерв,
    |        0 КАК КолРазмещено,
    |        ЗатратыНаВыпуск.КоличествоОстаток КАК КолНЗП
    |    ИЗ
    |        РегистрНакопления.УчетЗатрат%СуффиксРегл%.Остатки(&ДатаКон,
    |            АналитикаВидаУчета В (
    |                ВЫБРАТЬ
    |                    Ссылка
    |                ИЗ
    |                    РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
    |                ГДЕ
    |                    РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.Затраты)
    |                {Затрата.*, ХарактеристикаЗатраты.*}
    |                )
    |            И АналитикаУчетаПартий В (
    |                ВЫБРАТЬ
    |                    Ссылка
    |                ИЗ
    |                    РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
    |                ГДЕ
    |                    Заказ ССЫЛКА Документ.ЗаказНаПроизводство
    |                {Заказ.*}
    |                )
    |        ) КАК ЗатратыНаВыпуск
    |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |        РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
    |    ПО
    |        ЗатратыНаВыпуск.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
    |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |        РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
    |    ПО
    |        ЗатратыНаВыпуск.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
    |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |        РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
    |    ПО
    |        ЗатратыНаВыпуск.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
    |";
    
    РежимИспользованияРасширеннойАналитики = глЗначениеПеременной("РежимИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат");
    
    Если РежимИспользованияРасширеннойАналитики = Перечисления.РежимыИспользованияРасширеннойАналитики.УправленческийИРегламентированныйУчет Тогда
    ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете;
    Иначе
    ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВРегламентированномУчете;
    КонецЕсли;
    
    ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
    ТекстЗапроса,
    ВидОтраженияВУчете
    );
    
    Возврат ТекстЗапроса;
    
    КонецФункции
    
    // Процедура установки начальных настроек отчета с использованием текста запроса
    //
    Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
    
    // Настройка общих параметров универсального отчета
    
    Если ДополнительныеПараметры <> Неопределено Тогда
    
    УправлениеОтчетами.ВосстановитьРеквизитыОтчета(ЭтотОбъект, ДополнительныеПараметры);
    
    КонецЕсли;
    
    // Содержит название отчета, которое будет выводиться в шапке.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
    УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
    
    // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
    
    // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
    // Тип: Строка.
    // Пример:
    // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
    
    // Содержит признак необходимости вывода отрицательных значений показателей красным цветом.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
    УниверсальныйОтчет.ОтрицательноеКрасным = Истина;
    
    // Содержит признак необходимости вывода в отчет общих итогов.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;
    
    // Содержит признак необходимости вывода детальных записей в отчет.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Истина;
    
    // Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки.
    // Тип: Булево.
    // Значение по умолчанию: Истина.
    // Пример:
    // УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь;
    
    // Содержит признак использования свойств и категорий при заполнении настроек отчета.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;
    
    // Содержит признак использования простой формы настроек отчета без группировок колонок.
    // Тип: Булево.
    // Значение по умолчанию: Ложь.
    // Пример:
    // УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;
    
    // Дополнительные параметры, переданные из отчета, вызвавшего расшифровку.
    // Информация, передаваемая в переменной ДополнительныеПараметры, может быть использована
    // для реализации специфичных для данного отчета параметрических настроек.
    
    // Описание исходного текста запроса.
    // При написании текста запроса рекомендуется следовать правилам, описанным в следующем шаблоне текста запроса:
    //
    //ВЫБРАТЬ РАЗРЕШЕННЫЕ
    //    <ПсевдонимТаблицы.Поле> КАК <ПсевдонимПоля>,
    //    ПРЕДСТАВЛЕНИЕ(<ПсевдонимТаблицы>.<Поле>),
    //    <ПсевдонимТаблицы.Показатель> КАК <ПсевдонимПоказателя>
    //    <ПсевдонимТаблицы>.Регистратор КАК Регистратор,
    //    <ПсевдонимТаблицы>.Период КАК Период,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ДЕНЬ) КАК ПериодДень,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ДЕКАДА) КАК ПериодДекада,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, МЕСЯЦ) КАК ПериодМесяц,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, КВАРТАЛ) КАК ПериодКвартал,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ГОД) КАК ПериодГод
    //    //ПОЛЯ_СВОЙСТВА
    //    //ПОЛЯ_КАТЕГОРИИ
    //{ВЫБРАТЬ
    //    <ПсевдонимПоля>.*,
    //    <ПсевдонимПоказателя>,
    //    Регистратор,
    //    Период,
    //    ПериодДень,
    //    ПериодНеделя,
    //    ПериодДекада,
    //    ПериодМесяц,
    //    ПериодКвартал,
    //    ПериодПолугодие,
    //    ПериодГод
    //    //ПСЕВДОНИМЫ_СВОЙСТВА
    //    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    //}
    //ИЗ
    //    <Таблица> КАК <ПсевдонимТаблицы>
    //    //СОЕДИНЕНИЯ
    //{ГДЕ
    //    <ПсевдонимТаблицы.Поле>.* КАК <ПсевдонимПоля>,
    //    <ПсевдонимТаблицы.Показатель> КАК <ПсевдонимПоказателя>,
    //    <ПсевдонимТаблицы>.Регистратор.* КАК Регистратор,
    //    <ПсевдонимТаблицы>.Период КАК Период,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ДЕНЬ) КАК ПериодДень,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ДЕКАДА) КАК ПериодДекада,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, МЕСЯЦ) КАК ПериодМесяц,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, КВАРТАЛ) КАК ПериодКвартал,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    //    НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ГОД) КАК ПериодГод
    //    //УСЛОВИЯ_СВОЙСТВА
    //    //УСЛОВИЯ_КАТЕГОРИИ
    //}
    //{УПОРЯДОЧИТЬ ПО
    //    <ПсевдонимПоля>.*,
    //    <ПсевдонимПоказателя>,
    //    Регистратор.*,
    //    Период,
    //    ПериодДень,
    //    ПериодНеделя,
    //    ПериодДекада,
    //    ПериодМесяц,
    //    ПериодКвартал,
    //    ПериодПолугодие,
    //    ПериодГод
    //    //ПСЕВДОНИМЫ_СВОЙСТВА
    //    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    //}
    //ИТОГИ
    //    АГРЕГАТНАЯ_ФУНКЦИЯ(<ПсевдонимПоказателя>)
    //    //ИТОГИ_СВОЙСТВА
    //    //ИТОГИ_КАТЕГОРИИ
    //ПО
    //    ОБЩИЕ
    //{ИТОГИ ПО
    //    <ПсевдонимПоля>.*,
    //    Регистратор.*,
    //    Период,
    //    ПериодДень,
    //    ПериодНеделя,
    //    ПериодДекада,
    //    ПериодМесяц,
    //    ПериодКвартал,
    //    ПериодПолугодие,
    //    ПериодГод
    //    //ПСЕВДОНИМЫ_СВОЙСТВА
    //    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    //}
    ВидимостьНЗП = Ложь;
    Если глЗначениеПеременной("ИспользоватьПотребностиЗаказовНаПроизводство")
    И глЗначениеПеременной("СпособЗакрытияПотребностейЗаказовНаПроизводство") = Перечисления.СпособыЗакрытияПотребностейЗаказовНаПроизводство.АвтоматическиПриРаспределении Тогда
    
    ВидимостьНЗП = Истина;
    КонецЕсли;
    
    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    РегПотребности.ЗаказНаПроизводство,
    |    РегПотребности.Номенклатура,
    |    РегПотребности.ХарактеристикаНоменклатуры,
    |    РегПотребности.Продукция,
    |    РегПотребности.ХарактеристикаПродукции,
    |    РегПотребности.ЕдиницаИзмерения,
    |    РегПотребности.ВидВоспроизводства,
    |    РегПотребности.Спецификация,
    |    РегПотребности.Подразделение,
    |    РегПотребности.Склад,
    |    РегПотребности.ЗаказПоставщику,
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказНаПроизводство),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Номенклатура),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаНоменклатуры),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Продукция),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаПродукции),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ЕдиницаИзмерения),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ВидВоспроизводства),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Спецификация),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Подразделение),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Склад),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказПоставщику),
    |    РегПотребности.КолПотребность КАК КолПотребность,
    |    РегПотребности.КолРезерв КАК КолРезерв,
    |    РегПотребности.КолРазмещено КАК КолРазмещено,
    |    РегПотребности.КолНЗП КАК КолНЗП,
    |    РегПотребности.КолПотребность - РегПотребности.КолРезерв - РегПотребности.КолРазмещено - РегПотребности.КолНЗП КАК Необеспечено
    |    //ПОЛЯ_СВОЙСТВА
    |    //ПОЛЯ_КАТЕГОРИИ
    |{ВЫБРАТЬ
    |    ЗаказНаПроизводство.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    Продукция.*,
    |    ХарактеристикаПродукции.*,
    |    ЕдиницаИзмерения.*,
    |    ВидВоспроизводства.*,
    |    Спецификация.*,
    |    Подразделение.*,
    |    Склад.*,
    |    ЗаказПоставщику.*,
    |    КолПотребность,
    |    КолРезерв,
    |    КолРазмещено,
    |    КолНЗП,
    |    Необеспечено
    |    //ПСЕВДОНИМЫ_СВОЙСТВА
    |    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    |}
    |ИЗ
    |(ВЫБРАТЬ
    |    РегПотребности.ЗаказНаПроизводство,
    |    РегПотребности.Номенклатура,
    |    РегПотребности.ХарактеристикаНоменклатуры,
    |    РегПотребности.Продукция,
    |    РегПотребности.ХарактеристикаПродукции,
    |    РегПотребности.ЕдиницаИзмерения,
    |    РегПотребности.ВидВоспроизводства,
    |    РегПотребности.Спецификация,
    |    РегПотребности.Подразделение,
    |    NULL КАК Склад,
    |    NULL КАК ЗаказПоставщику,
    |    РегПотребности.КоличествоОстаток КАК КолПотребность,
    |    0 КАК КолРезерв,
    |    0 КАК КолРазмещено,
    |    0 КАК КолНЗП
    |ИЗ
    |    РегистрНакопления.ПотребностиЗаказовНаПроизводство.Остатки(&ДатаКон, {ЗаказНаПроизводство.*, Номенклатура.*, ХарактеристикаНоменклатуры.*}) КАК РегПотребности
    |
    //Резерв складывается из трех регистров: ТоварыВРезервеНаСкладах
    //    ТоварыКПередачеСоСкладов, ТоварыКПолучениюНаСклады (с отрицательным знаком) - для учета резервов, перемещаемых по ордерной схеме
    |ОБЪЕДИНИТЬ ВСЕ
    |        
    |ВЫБРАТЬ
    |    РегРезерв.ДокументРезерва КАК ЗаказНаПроизводство,
    |    РегРезерв.Номенклатура,
    |    РегРезерв.ХарактеристикаНоменклатуры,
    |    NULL КАК Продукция,
    |    NULL КАК ХарактеристикаПродукции,
    |    РегРезерв.Номенклатура.ЕдиницаХраненияОстатков,
    |    NULL КАК ВидВоспроизводства,
    |    NULL КАК Спецификация,
    |    NULL КАК Подразделение,
    |    РегРезерв.Склад КАК Склад,
    |    NULL КАК ЗаказПоставщику,
    |    0 КАК КолПотребность,
    |    РегРезерв.КоличествоОстаток КАК КолРезерв,
    |    0 КАК КолРазмещено,
    |    0 КАК КолНЗП
    |ИЗ
    |    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство {ДокументРезерва.*, Номенклатура.*, ХарактеристикаНоменклатуры.*}) КАК РегРезерв
    |    
    |ОБЪЕДИНИТЬ ВСЕ
    |        
    |ВЫБРАТЬ
    |    РезервыКПередаче.ДокументРезерва КАК ЗаказНаПроизводство,
    |    РезервыКПередаче.Номенклатура,
    |    РезервыКПередаче.ХарактеристикаНоменклатуры,
    |    NULL КАК Продукция,
    |    NULL КАК ХарактеристикаПродукции,
    |    РезервыКПередаче.Номенклатура.ЕдиницаХраненияОстатков,
    |    NULL КАК ВидВоспроизводства,
    |    NULL КАК Спецификация,
    |    NULL КАК Подразделение,
    |    РезервыКПередаче.Склад КАК Склад,
    |    NULL КАК ЗаказПоставщику,
    |    0 КАК КолПотребность,
    |    РезервыКПередаче.КоличествоОстаток КАК КолРезерв,
    |    0 КАК КолРазмещено,
    |    0 КАК КолНЗП
    |ИЗ
    |    РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство {ДокументРезерва.*, Номенклатура.*, ХарактеристикаНоменклатуры.*}) КАК РезервыКПередаче
    |    
    |ОБЪЕДИНИТЬ ВСЕ
    |        
    |ВЫБРАТЬ
    |    РезервыКПолучению.ДокументРезерва КАК ЗаказНаПроизводство,
    |    РезервыКПолучению.Номенклатура,
    |    РезервыКПолучению.ХарактеристикаНоменклатуры,
    |    NULL КАК Продукция,
    |    NULL КАК ХарактеристикаПродукции,
    |    РезервыКПолучению.Номенклатура.ЕдиницаХраненияОстатков,
    |    NULL КАК ВидВоспроизводства,
    |    NULL КАК Спецификация,
    |    NULL КАК Подразделение,
    |    РезервыКПолучению.Склад КАК Склад,
    |    NULL КАК ЗаказПоставщику,
    |    0 КАК КолПотребность,
    |    (-1)*РезервыКПолучению.КоличествоОстаток КАК КолРезерв,
    |    0 КАК КолРазмещено,
    |    0 КАК КолНЗП
    |ИЗ
    |    РегистрНакопления.ТоварыКПолучениюНаСклады.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство {ДокументРезерва.*, Номенклатура.*, ХарактеристикаНоменклатуры.*}) КАК РезервыКПолучению
    |    
    |ОБЪЕДИНИТЬ ВСЕ
    |        
    |ВЫБРАТЬ
    |    РегРазмещение.ЗаказПокупателя КАК ЗаказНаПроизводство,
    |    РегРазмещение.Номенклатура,
    |    РегРазмещение.ХарактеристикаНоменклатуры,
    |    NULL КАК Продукция,
    |    NULL КАК ХарактеристикаПродукции,
    |    РегРазмещение.Номенклатура.ЕдиницаХраненияОстатков,
    |    NULL КАК ВидВоспроизводства,
    |    NULL КАК Спецификация,
    |    NULL КАК Подразделение,
    |    NULL КАК Склад,
    |    РегРазмещение.ЗаказПоставщику КАК ЗаказПоставщику,
    |    0 КАК КолПотребность,
    |    0 КАК КолРезерв,
    |    РегРазмещение.КоличествоОстаток КАК КолРазмещено,
    |    0 КАК КолНЗП
    |ИЗ
    |    РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(&ДатаКон, ЗаказПокупателя ССЫЛКА Документ.ЗаказНаПроизводство {ЗаказПокупателя.*, Номенклатура.*, ХарактеристикаНоменклатуры.*}) КАК РегРазмещение
    |//Подзапрос_НЗП    
    |) КАК РегПотребности
    |    //СОЕДИНЕНИЯ
    |
    |{ГДЕ
    |    РегПотребности.ЗаказНаПроизводство.*,
    |    РегПотребности.Номенклатура.*,
    |    РегПотребности.ХарактеристикаНоменклатуры.*,
    |    РегПотребности.Продукция.*,
    |    РегПотребности.ХарактеристикаПродукции.*,
    |    РегПотребности.ЕдиницаИзмерения.*,
    |    РегПотребности.ВидВоспроизводства.*,
    |    РегПотребности.Спецификация.*,
    |    РегПотребности.Подразделение.*,
    |    РегПотребности.Склад.*,
    |    РегПотребности.ЗаказПоставщику.*,
    |    ЕСТЬNULL(РегПотребности.КолПотребность, 0) КАК КолПотребность,
    |    ЕСТЬNULL(РегПотребности.КолРезерв, 0) КАК КолРезерв,
    |    ЕСТЬNULL(РегПотребности.КолРазмещено, 0) КАК КолРазмещено,
    |    ЕСТЬNULL(РегПотребности.КолНЗП, 0) КАК КолНЗП,
    |    ЕСТЬNULL(РегПотребности.КолПотребность, 0) - ЕСТЬNULL(РегПотребности.КолРезерв, 0) - ЕСТЬNULL(РегПотребности.КолРазмещено, 0) - ЕСТЬNULL(РегПотребности.КолНЗП, 0) КАК Необеспечено
    |    //УСЛОВИЯ_СВОЙСТВА
    |    //УСЛОВИЯ_КАТЕГОРИИ
    |}
    |{УПОРЯДОЧИТЬ ПО
    |    ЗаказНаПроизводство.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    Продукция.*,
    |    ХарактеристикаПродукции.*,
    |    ЕдиницаИзмерения.*,
    |    ВидВоспроизводства.*,
    |    Спецификация.*,
    |    Подразделение.*,
    |    Склад.*,
    |    ЗаказПоставщику.*,
    |    КолПотребность,
    |    КолРезерв,
    |    КолРазмещено,
    |    КолНЗП,
    |    Необеспечено
    |    //ПСЕВДОНИМЫ_СВОЙСТВА
    |    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    |}
    |ИТОГИ
    |    СУММА(КолПотребность),
    |    СУММА(КолРезерв),
    |    СУММА(КолРазмещено),
    |    СУММА(КолНЗП),
    |    СУММА(Необеспечено)
    |    //ИТОГИ_СВОЙСТВА
    |    //ИТОГИ_КАТЕГОРИИ
    |ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    ЗаказНаПроизводство.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    Продукция.*,
    |    ХарактеристикаПродукции.*,
    |    ЕдиницаИзмерения.*,
    |    ВидВоспроизводства.*,
    |    Спецификация.*,
    |    Подразделение.*,
    |    Склад.*,
    |    ЗаказПоставщику.*
    |    //ПСЕВДОНИМЫ_СВОЙСТВА
    |    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    |    }";
    
    // В универсальном отчете включен флаг использования свойств и категорий.
    Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда
    
    // Добавление свойств и категорий поля запроса в таблицу полей.
    // Необходимо вызывать для каждого поля запроса, предоставляющего возможность использования свойств и категорий.
    
    // УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля(<ПсевдонимТаблицы>.<Поле> , <ПсевдонимПоля>, <Представление>, <Назначение>);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ЗаказНаПроизводство",	    "ЗаказНаПроизводство",	    "Заказ на производство",	   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Номенклатура",			   "Номенклатура",			   "Номенклатура",			    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Продукция",				  "Продукция",				  "Продукция",				   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ХарактеристикаНоменклатуры", "ХарактеристикаНоменклатуры", "Характеристика номенклатуры", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ХарактеристикаПродукции",    "ХарактеристикаПродукции",    "Характеристика продукции",    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Подразделение",			  "Подразделение",			  "Подразделение",			   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ЗаказПоставщику",	          "ЗаказПоставщику",		    "Заказ резервирования",	    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Склад",	       		   "Склад",					 "Склад резервирования",		 ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Склады);
    
    // Добавление свойств и категорий в исходный текст запроса.
    УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);
    
    КонецЕсли;
    
    Если ВидимостьНЗП Тогда
    Если глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат") И
    (НЕ ЗначениеЗаполнено(УниверсальныйОтчет.ДатаКон) ИЛИ
    глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= УниверсальныйОтчет.ДатаКон) Тогда
    ТекстЗапросаНЗП = СформироватьТекстЗапросаНЗП_РасширеннаяАналитика();
    Иначе
    ТекстЗапросаНЗП = СформироватьТекстЗапросаНЗП();
    КонецЕсли;
    ТекстЗапроса = стрЗаменить(ТекстЗапроса,"//Подзапрос_НЗП","
    |ОБЪЕДИНИТЬ ВСЕ
    |"+ТекстЗапросаНЗП);
    КонецЕсли;
    
    
    // Инициализация текста запроса построителя отчета
    УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
    
    // Представления полей отчета.
    // Необходимо вызывать для каждого поля запроса.
    // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЗаказНаПроизводство",	    "Заказ на производство");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаНоменклатуры", "Характеристика номенклатуры");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаПродукции",    "Характеристика продукции");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЕдиницаИзмерения",		   "Единица измерения");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВидВоспроизводства",		 "Вид воспроизводства");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЗаказПоставщику",		    "Заказ размещения");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Склад",		               "Склад резервирования");
    
    
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолПотребность", "Потребность (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолРезерв",	  "Зарезервировано на складе (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолРазмещено",   "Размещено в заказах (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолНЗП",		 "Наличие в НЗП (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Необеспечено",   "Осталось обеспечить");
    
    // Добавление показателей
    // Необходимо вызывать для каждого добавляемого показателя.
    // УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
    УниверсальныйОтчет.ДобавитьПоказатель("КолПотребность", "Потребность",		 Истина, "ЧЦ=15; ЧДЦ=3; ЧН=-");
    УниверсальныйОтчет.ДобавитьПоказатель("КолРезерв",	  "Зарезервировано на складе",	 Истина, "ЧЦ=15; ЧДЦ=3; ЧН=-", "Обеспечение", "Обеспечение");
    УниверсальныйОтчет.ДобавитьПоказатель("КолРазмещено",   "Размещено в заказах",		   Истина, "ЧЦ=15; ЧДЦ=3; ЧН=-", "Обеспечение", "Обеспечение");
    Если ВидимостьНЗП Тогда
    УниверсальныйОтчет.ДобавитьПоказатель("КолНЗП",		 "НЗП",				 Истина, "ЧЦ=15; ЧДЦ=3; ЧН=-", "Обеспечение", "Обеспечение");
    КонецЕсли;
    УниверсальныйОтчет.ДобавитьПоказатель("Необеспечено",   "Осталось обеспечить", Истина, "ЧЦ=15; ЧДЦ=3; ЧН=-");
    
    // Добавление предопределенных группировок строк отчета.
    // Необходимо вызывать для каждой добавляемой группировки строки.
    // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ЗаказНаПроизводство");
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
    
    // Добавление предопределенных группировок колонок отчета.
    // Необходимо вызывать для каждой добавляемой группировки колонки.
    // УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);
    
    // Добавление предопределенных отборов отчета.
    // Необходимо вызывать для каждого добавляемого отбора.
    // УниверсальныйОтчет.ДобавитьОтбор(<ПутьКДанным>);
    УниверсальныйОтчет.ДобавитьОтбор("ЗаказНаПроизводство");
    УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");
    УниверсальныйОтчет.ДобавитьОтбор("Подразделение");
    
    // Добавление предопределенных полей порядка отчета.
    // Необходимо вызывать для каждого добавляемого поля порядка.
    // УниверсальныйОтчет.ДобавитьПорядок(<ПутьКДанным>);
    
    // Установка связи подчиненных и родительских полей
    // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДаннымРодитель>);
    
    // Установка связи полей и измерений
    // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>);
    
    // Установка представлений полей
    УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);
    
    // Установка типов значений свойств в отборах отчета
    УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора();
    
    // Заполнение начальных настроек универсального отчета
    УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь);
    
    // Добавление дополнительных полей
    // Необходимо вызывать для каждого добавляемого дополнительного поля.
    // УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>, <Размещение>, <Положение>);
    
    КонецПроцедуры // УстановитьНачальныеНастройки()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ОТЧЕТА
    
    // Процедура формирования отчета
    //
    Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
    
    // Перед формирование отчета можно установить необходимые параметры универсального отчета.
    
    УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент,,, ЭтотОбъект);
    
    КонецПроцедуры // СформироватьОтчет()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
    
    // Процедура обработки расшифровки
    //
    Процедура ОбработкаРасшифровки(Расшифровка, Объект) Экспорт
    
    // Дополнительные параметры в расшифровывающий отчет можно передать
    // посредством инициализации переменной "ДополнительныеПараметры".
    
    ДополнительныеПараметры = УправлениеОтчетами.СохранитьРеквизитыОтчета(ЭтотОбъект);
    УниверсальныйОтчет.ОбработкаРасшифровкиУниверсальногоОтчета(Расшифровка, Объект, ДополнительныеПараметры);
    
    КонецПроцедуры // ОбработкаРасшифровки()
    
    // Формирует структуру для сохранения настроек отчета
    //
    Процедура СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками) Экспорт
    
    УниверсальныйОтчет.СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками);
    УправлениеОтчетами.СохранитьРеквизитыОтчета(ЭтотОбъект, СтруктураСНастройками);
    
    КонецПроцедуры // СформироватьСтруктуруДляСохраненияНастроек()
    
    // Заполняет настройки отчета из структуры сохраненных настроек
    //
    Функция ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками) Экспорт
    
    УправлениеОтчетами.ВосстановитьРеквизитыОтчета(ЭтотОбъект, СтруктураСНастройками);
    Возврат УниверсальныйОтчет.ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками, ЭтотОбъект);
    
    КонецФункции // ВосстановитьНастройкиИзСтруктуры()
    
    Функция ПолучитьТекстСправкиФормы() Экспорт
    Если мЕстьНЗП = неопределено Тогда
    мЕстьНЗП = (глЗначениеПеременной("СпособЗакрытияПотребностейЗаказовНаПроизводство")=Перечисления.СпособыЗакрытияПотребностейЗаказовНаПроизводство.АвтоматическиПриРаспределении);
    КонецЕсли;
    
    ТекстМакета = ПолучитьМакет("Отчет_МакетВстроеннойСправки").ПолучитьТекст();
    
    ТекстМакета = СтрЗаменить(ТекстМакета,"#ТекстСправкиНЗП",?(мЕстьНЗП, "inline", "none"));
    ТекстМакета = СтрЗаменить(ТекстМакета,"#ТекстСправкиБезНЗП",?(не мЕстьНЗП, "inline", "none"));
    Возврат ТекстМакета;
    КонецФункции
    
    // Содержит значение используемого режима ввода периода.
    // Тип: Число.
    // Возможные значения: // (-1) - не выбирать период, 0 - произвольный период, 1 - на дату, 2 - неделя, 3 - декада, 4 - месяц, 5 - квартал, 6 - полугодие, 7 - год
    // Значение по умолчанию: 0
    // Пример:
    УниверсальныйОтчет.мРежимВводаПериода = 1;
    
    #КонецЕсли
    
    Код:
    Перем мЕстьНЗП;
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
    
    // Обновляет таблицу отчета
    //
    Процедура ОбновитьОтчет() Экспорт
    СформироватьОтчет(ЭлементыФормы.ПолеТабличногоДокументаРезультат);
    
    КонецПроцедуры // ОбновитьОтчет()
    
    Процедура ДействияФормыВыполнитьВнешнююОбработку(Кнопка)
    
    УниверсальныйОтчет.ОбработатьНажатиеНаКнопкуОбработкиПодключаемойКОтчету(Кнопка.Имя, ЭтотОбъект, ЭлементыФормы.ПолеТабличногоДокументаРезультат);
    
    КонецПроцедуры // ДействияФормыВыполнитьВнешнююОбработку
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
    
    // Процедура - обработчик события при открытии формы
    //
    Процедура ПриОткрытии()
    
    УниверсальныйОтчет.мДействиеПолеВводаВидСравненияПриИзменении = Новый Действие("ПолеВводаВидСравненияПриИзменении");
    УниверсальныйОтчет.мДействиеПолеВводаЗначениеПриИзменении	 = Новый Действие("ПолеВводаЗначениеПриИзменении");
    УниверсальныйОтчет.мДействиеКоманднаяПанельФормыПечать = Новый Действие("КоманднаяПанельФормыПечать");
    УниверсальныйОтчет.мДействиеКоманднаяПанельФормыСправкаФормы = Новый Действие("КоманднаяПанельФормыСправкаФормы");
    УниверсальныйОтчет.мДействиеВстроеннаяСправкаonclick = Новый Действие("ВстроеннаяСправкаonclick");
    УниверсальныйОтчет.мДействиеВстроеннаяСправкаonmouseout = Новый Действие("ВстроеннаяСправкаonmouseout");
    УниверсальныйОтчет.мДействиеФормыВыполнитьВнешнююОбработку = Новый Действие("ДействияФормыВыполнитьВнешнююОбработку");
    УниверсальныйОтчет.мДействиеВстроеннаяСправкаonmouseover = Новый Действие("ВстроеннаяСправкаonmouseover");
    УниверсальныйОтчет.ФормаПриОткрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
    
    КонецПроцедуры // ПриОткрытии()
    
    // Процедура - обработчик события при закрытии формы
    //
    Процедура ПриЗакрытии()
    
    УниверсальныйОтчет.ФормаПриЗакрытии(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
    
    КонецПроцедуры // ПриЗакрытии()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ НАЖАТИЯ КНОПОК КОМАНДНОЙ ПАНЕЛИ
    
    // Процедура - обработчик нажатия кнопки "Печать"
    //
    Процедура КоманднаяПанельФормыПечать(Кнопка)
    
    УниверсальныйОтчет.ФормаПечать(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
    
    КонецПроцедуры // КоманднаяПанельФормыПечать()
    
    // Процедура - обработчик нажатия кнопки "Сформировать"
    //
    Процедура КоманднаяПанельФормыСформировать(Кнопка)
    
    ОбновитьОтчет();
    
    КонецПроцедуры // КоманднаяПанельФормыСформировать()
    
    // Процедура - обработчик нажатия кнопки "Настройка"
    //
    Процедура КоманднаяПанельФормыНастройка(Кнопка)
    
    УниверсальныйОтчет.ФормаНастройка(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма, ЭлементыФормы.ПолеТабличногоДокументаРезультат);
    
    КонецПроцедуры // КоманднаяПанельФормыНастройка()
    
    // Процедура - обработчик нажатия кнопки "НовыйОтчет"
    //
    Процедура КоманднаяПанельФормыНовыйОтчет(Кнопка)
    
    // Дополнительные параметры в расшифровывающий отчет можно передать
    // посредством инициализации переменной "ДополнительныеПараметры".
    ДополнительныеПараметры = Неопределено;
    
    УниверсальныйОтчет.ФормаНовыйОтчет(УниверсальныйОтчет, ЭтотОбъект, ДополнительныеПараметры);
    
    КонецПроцедуры // КоманднаяПанельФормыНовыйОтчет()
    
    // Процедура - обработчик нажатия кнопки "БыстрыеОтборы"
    //
    Процедура КоманднаяПанельФормыБыстрыеОтборы(Кнопка)
    
    УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя);
    УниверсальныйОтчет.УправлениеПанельюБыстрыеОтборы(УниверсальныйОтчет, ЭтаФорма);
    
    КонецПроцедуры // КоманднаяПанельФормыБыстрыеОтборы()
    
    // Процедура - обработчик нажатия кнопки "ЗаголовокОтчета"
    //
    Процедура КоманднаяПанельФормыЗаголовокОтчета(Кнопка)
    
    УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя);
    УниверсальныйОтчет.УправлениеОтображениемЗаголовка(УниверсальныйОтчет, ЭлементыФормы.ПолеТабличногоДокументаРезультат);
    
    КонецПроцедуры // КоманднаяПанельФормыЗаголовокОтчета()
    
    // Процедура - обработчик нажатия кнопки "ВосстановитьНастройку"
    //
    Процедура КоманднаяПанельФормыВосстановитьНастройку(Кнопка)
    
    УниверсальныйОтчет.ВосстановитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
    
    
    КонецПроцедуры // КоманднаяПанельФормыДействиеВосстановитьЗначения()
    
    // Процедура - обработчик нажатия кнопки "СохранитьНастройку"
    //
    Процедура КоманднаяПанельФормыСохранитьНастройку(Кнопка)
    
    УниверсальныйОтчет.СохранитьНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
    
    КонецПроцедуры // КоманднаяПанельФормыДействиеСохранитьЗначения()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ
    
    // Процедура - обработчик нажатия кнопки "КнопкаНастройкаПериода"
    //
    Процедура КнопкаНастройкаПериодаНажатие(Элемент)
    
    УниверсальныйОтчет.ФормаНастройкаПериода(УниверсальныйОтчет);
    
    КонецПроцедуры // КнопкаНастройкаПериодаНажатие()
    
    // Процедура - обработчик нажатия кнопки "КнопкаМинусПериод"
    //
    Процедура КнопкаМинусПериодНажатие(Элемент)
    
    УниверсальныйОтчет.ФормаМинусПериод(УниверсальныйОтчет);
    
    КонецПроцедуры // КнопкаМинусПериодНажатие()
    
    // Процедура - обработчик нажатия кнопки "КнопкаПлюсПериод"
    //
    Процедура КнопкаПлюсПериодНажатие(Элемент)
    
    УниверсальныйОтчет.ФормаПлюсПериод(УниверсальныйОтчет);
    
    КонецПроцедуры // КнопкаПлюсПериодНажатие()
    
    // Процедура - обработчик события "Обработка расшифровки" поля табличного документа "ПолеТабличногоДокументаРезультат"
    //
    Процедура ПолеТабличногоДокументаРезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    ОбработкаРасшифровки(Расшифровка, ОтчетОбъект);
    
    КонецПроцедуры // ПолеТабличногоДокументаРезультатОбработкаРасшифровки()
    
    // Процедура - обработчик события "При изменении" поля ввода "ПолеВводаВидСравнения"
    //
    Процедура ПолеВводаВидСравненияПриИзменении(Элемент)
    
    УниверсальныйОтчет.ВидСравненияПриИзменении(Элемент, ЭтаФорма);
    
    КонецПроцедуры // ПолеВводаВидСравненияПриИзменении()
    
    // Процедура - обработчик события "При изменении" полей ввода "Значение", "ЗначениеС", "ЗначениеПо"
    //
    Процедура ПолеВводаЗначениеПриИзменении(Элемент)
    
    УниверсальныйОтчет.ЗначениеПриИзменении(Элемент, ЭтаФорма);
    
    КонецПроцедуры // ПолеВводаЗначениеПриИзменении()
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ СПРАВКИ ФОРМЫ
    
    // Процедура - обработчик события "onclick" поле HTML документа "ВстроеннаяСправка"
    //
    Процедура ВстроеннаяСправкаonclick(Элемент, pEvtObj)
    
    УниверсальныйОтчет.onclick(ЭтотОбъект, ЭтотОбъект, ЭтаФорма, Элемент, pEvtObj);
    
    КонецПроцедуры // ВстроеннаяСправкаonclick()
    
    // Процедура - обработчик события "onmouseout" поле HTML документа "ВстроеннаяСправка"
    //
    Процедура ВстроеннаяСправкаonmouseout(Элемент, pEvtObj)
    
    УниверсальныйОтчет.onmouseout(ЭтотОбъект, ЭтотОбъект, ЭтаФорма, Элемент, pEvtObj);
    
    КонецПроцедуры // ВстроеннаяСправкаonmouseout()
    
    // Процедура - обработчик события "onmouseover" поле HTML документа "ВстроеннаяСправка"
    //
    Процедура ВстроеннаяСправкаonmouseover(Элемент, pEvtObj)
    
    УниверсальныйОтчет.onmouseover(ЭтотОбъект, ЭтотОбъект, ЭтаФорма, Элемент, pEvtObj);
    
    КонецПроцедуры // ВстроеннаяСправкаonmouseover()
    
    // Процедура - обработчик нажатия кнопки "СправкаФормы"
    //
    Процедура КоманднаяПанельФормыСправкаФормы(Кнопка)
    
    УниверсальныйОтчет.УправлениеОтображениемЭлементовФормы(УниверсальныйОтчет, ЭтаФорма, Кнопка.Имя);
    УниверсальныйОтчет.УправлениеОтображениемСправкиФормы(УниверсальныйОтчет, ЭтаФорма);
    КонецПроцедуры // КоманднаяПанельФормыСправкаФормы()
    
    Процедура ВыполнитьКомандуФормы(Команда, Значение) Экспорт
    
    Если Команда = "ОткрытьОтчет" Тогда
    Форма = Отчеты[Значение].ПолучитьФорму();
    Форма.Открыть();
    Иначе
    ОбщегоНазначения.Сообщение("Неизвестная команда: " + Команда);
    КонецЕсли;
    
    КонецПроцедуры // ВыполнитьКомандуСправки()
    
    Процедура ПолеВводаДатаКонПриИзменении(Элемент)
    //сохраним настройки
    СтруктураСНастройками = новый Структура;
    СформироватьСтруктуруДляСохраненияНастроек(СтруктураСНастройками);
    //перезаполним начальные настройки отчета (может измениться текст запроса)
    УниверсальныйОтчет.ПереустановитьНачальныеНастройки(УниверсальныйОтчет, ЭтотОбъект, ЭтаФорма);
    //восстановим настройки из структуры
    ВосстановитьНастройкиИзСтруктуры(СтруктураСНастройками);
    КонецПроцедуры
    
    
    С чего даже начать не могу понять.
    Для начала изменил код на:
    Код:
    Функция СформироватьТекстЗапросаНЗП()
    ТекстЗапроса = "ВЫБРАТЬ
    |    РегНЗП.Заказ КАК ЗаказНаПроизводство,
    |    РегНЗП.Затрата КАК Материал,
    |    РегНЗП.ХарактеристикаЗатраты КАК ХарактеристикаМатериала,
    |    NULL КАК Продукция,
    |    NULL КАК ХарактеристикаПродукции,
    |    РегНЗП.Затрата.ЕдиницаХраненияОстатков,
    |    NULL КАК ВидВоспроизводства,
    |    NULL КАК Спецификация,
    |    РегНЗП.Подразделение,
    |    NULL КАК Склад,
    |    NULL КАК ЗаказПоставщику,
    |    0 КАК КолПотребность,
    |    0 КАК КолРезерв,
    |    0 КАК КолРазмещено,
    |    РегНЗП.КоличествоОстаток КАК КолНЗП,
    |    АналогиНом.Аналог
    |ИЗ
    |    РегистрНакопления.НезавершенноеПроизводство.Остатки(&ДатаКон, Заказ ССЫЛКА Документ.ЗаказНаПроизводство {(Заказ).*, (Затрата).*, (ХарактеристикаЗатраты).*}) КАК РегНЗП
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналогиНоменклатуры КАК АналогиНом
    |        ПО РегНЗП.Затрата = АналогиНом.Номенклатура";
    Возврат ТекстЗапроса;
    КонецФункции
    
    
    На какой кусок кода стоит обратить, чтобы понять откуда берутся данные в настройке отчета в разделах отбор и дополнительные поля. Интересует особенно как добавить дополнительное поле. Это и есть задача.
    Заранее большое спасибо.
    Прикрепил сам отчет. Посмотреть вложение 14904

    Вложения:

  2. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Есть такой кусочек кода:
    Код:
    // УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля(<ПсевдонимТаблицы>.<Поле> , <ПсевдонимПоля>, <Представление>, <Назначение>);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ЗаказНаПроизводство",	    "ЗаказНаПроизводство",	    "Заказ на производство",	   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Номенклатура",			   "Номенклатура",			   "Номенклатура",			    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
    
    Я добавляю:
    Код:
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("АналогиНомен.Аналог.Наименование",		  "АналогНаименование",		 "Аналог номенклатуры",		 ПланыВидовХарактеристик.ХХХ;
    
    Какой ПланыВидовХарактеристик мне выбрать?
  3. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    И не могу понять как формируется эта часть кода:
    Код:
    |	ИЗ
    |		РегистрНакопления.ПотребностиЗаказовНаПроизводство.Остатки(&ДатаКон, {(ЗаказНаПроизводство).*, (Номенклатура).*, (ХарактеристикаНоменклатуры).*}) КАК РегПотребности
    
    Как ее создать в конструкторе запроса?
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    По работе с универсальным отчетом Вам сюда
    _http://infostart.ru/public/62223/
  5. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Прочитал. Дописал как надо. Отбор работает по новым полям. А вот новые поля в формируемую таблицу не добавляются.
    В чем может быть проблема? Какой блок отвечает за вывод информации на экран?
    Спасибо.
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Не настроили поля в самом построителе скорее всего, посмотрите язык построителя, его поля помечаются {}, а в конструкторе запроса отдельная закладка для построителя есть.
  7. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    В том то все и дело, что все вроде настроено.
    Если кто-нибудь может посмотрите в чем ошибка:) Заранее большое спасибо.
    Код:
    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    РегПотребности.ЗаказНаПроизводство,
    |    РегПотребности.Номенклатура,
    |    РегПотребности.ХарактеристикаНоменклатуры,
    |    РегПотребности.Продукция,
    |    РегПотребности.ХарактеристикаПродукции,
    |    РегПотребности.ЕдиницаИзмерения,
    |    РегПотребности.ВидВоспроизводства,
    |    РегПотребности.Спецификация,
    |    РегПотребности.Подразделение,
    |    РегПотребности.Склад,
    |    РегПотребности.ЗаказПоставщику,
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказНаПроизводство),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Номенклатура),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаНоменклатуры),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Продукция),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаПродукции),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ЕдиницаИзмерения),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ВидВоспроизводства),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Спецификация),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Подразделение),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.Склад),
    |    ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказПоставщику),
    |    РегПотребности.КолПотребность КАК КолПотребность,
    |    РегПотребности.КолРезерв КАК КолРезерв,
    |    РегПотребности.КолРазмещено КАК КолРазмещено,
    |    РегПотребности.КолНЗП КАК КолНЗП,
    |    РегПотребности.КолПотребность - РегПотребности.КолРезерв - РегПотребности.КолРазмещено - РегПотребности.КолНЗП КАК Необеспечено,
    |    АналогиНоменклатуры.Аналог
    |{ВЫБРАТЬ
    |    ЗаказНаПроизводство.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    Продукция.*,
    |    ХарактеристикаПродукции.*,
    |    ЕдиницаИзмерения.*,
    |    ВидВоспроизводства.*,
    |    Спецификация.*,
    |    Подразделение.*,
    |    Склад.*,
    |    ЗаказПоставщику.*,
    |    КолПотребность,
    |    КолРезерв,
    |    КолРазмещено,
    |    КолНЗП,
    |    Необеспечено,
    |    Аналог.*}
    |ИЗ
    |    (ВЫБРАТЬ
    |        РегПотребности.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
    |        РегПотребности.Номенклатура КАК Номенклатура,
    |        РегПотребности.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        РегПотребности.Продукция КАК Продукция,
    |        РегПотребности.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
    |        РегПотребности.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |        РегПотребности.ВидВоспроизводства КАК ВидВоспроизводства,
    |        РегПотребности.Спецификация КАК Спецификация,
    |        РегПотребности.Подразделение КАК Подразделение,
    |        NULL КАК Склад,
    |        NULL КАК ЗаказПоставщику,
    |        РегПотребности.КоличествоОстаток КАК КолПотребность,
    |        0 КАК КолРезерв,
    |        0 КАК КолРазмещено,
    |        0 КАК КолНЗП
    |    ИЗ
    |        РегистрНакопления.ПотребностиЗаказовНаПроизводство.Остатки(&ДатаКон, {(ЗаказНаПроизводство).*, (Номенклатура).*, (ХарактеристикаНоменклатуры).*}) КАК РегПотребности
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        РегРезерв.ДокументРезерва,
    |        РегРезерв.Номенклатура,
    |        РегРезерв.ХарактеристикаНоменклатуры,
    |        NULL,
    |        NULL,
    |        РегРезерв.Номенклатура.ЕдиницаХраненияОстатков,
    |        NULL,
    |        NULL,
    |        NULL,
    |        РегРезерв.Склад,
    |        NULL,
    |        0,
    |        РегРезерв.КоличествоОстаток,
    |        0,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство {(ДокументРезерва).*, (Номенклатура).*, (ХарактеристикаНоменклатуры).*}) КАК РегРезерв
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        РезервыКПередаче.ДокументРезерва,
    |        РезервыКПередаче.Номенклатура,
    |        РезервыКПередаче.ХарактеристикаНоменклатуры,
    |        NULL,
    |        NULL,
    |        РезервыКПередаче.Номенклатура.ЕдиницаХраненияОстатков,
    |        NULL,
    |        NULL,
    |        NULL,
    |        РезервыКПередаче.Склад,
    |        NULL,
    |        0,
    |        РезервыКПередаче.КоличествоОстаток,
    |        0,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство {(ДокументРезерва).*, (Номенклатура).*, (ХарактеристикаНоменклатуры).*}) КАК РезервыКПередаче
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        РезервыКПолучению.ДокументРезерва,
    |        РезервыКПолучению.Номенклатура,
    |        РезервыКПолучению.ХарактеристикаНоменклатуры,
    |        NULL,
    |        NULL,
    |        РезервыКПолучению.Номенклатура.ЕдиницаХраненияОстатков,
    |        NULL,
    |        NULL,
    |        NULL,
    |        РезервыКПолучению.Склад,
    |        NULL,
    |        0,
    |        -1 * РезервыКПолучению.КоличествоОстаток,
    |        0,
    |        0
    |    ИЗ
    |        РегистрНакопления.ТоварыКПолучениюНаСклады.Остатки(&ДатаКон, ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство {(ДокументРезерва).*, (Номенклатура).*, (ХарактеристикаНоменклатуры).*}) КАК РезервыКПолучению
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        РегРазмещение.ЗаказПокупателя,
    |        РегРазмещение.Номенклатура,
    |        РегРазмещение.ХарактеристикаНоменклатуры,
    |        NULL,
    |        NULL,
    |        РегРазмещение.Номенклатура.ЕдиницаХраненияОстатков,
    |        NULL,
    |        NULL,
    |        NULL,
    |        NULL,
    |        РегРазмещение.ЗаказПоставщику,
    |        0,
    |        0,
    |        РегРазмещение.КоличествоОстаток,
    |        0
    |    ИЗ
    |        РегистрНакопления.РазмещениеЗаказовПокупателей.Остатки(&ДатаКон, ЗаказПокупателя ССЫЛКА Документ.ЗаказНаПроизводство {(ЗаказПокупателя).*, (Номенклатура).*, (ХарактеристикаНоменклатуры).*}) КАК РегРазмещение) КАК РегПотребности
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналогиНоменклатуры КАК АналогиНоменклатуры
    |        ПО РегПотребности.Номенклатура.Наименование = АналогиНоменклатуры.Номенклатура.Наименование
    |{ГДЕ
    |    РегПотребности.ЗаказНаПроизводство.*,
    |    РегПотребности.Номенклатура.*,
    |    РегПотребности.ХарактеристикаНоменклатуры.*,
    |    РегПотребности.Продукция.*,
    |    РегПотребности.ХарактеристикаПродукции.*,
    |    РегПотребности.ЕдиницаИзмерения.*,
    |    РегПотребности.ВидВоспроизводства.*,
    |    РегПотребности.Спецификация.*,
    |    РегПотребности.Подразделение.*,
    |    РегПотребности.Склад.*,
    |    РегПотребности.ЗаказПоставщику.*,
    |    (ЕСТЬNULL(РегПотребности.КолПотребность, 0)) КАК КолПотребность,
    |    (ЕСТЬNULL(РегПотребности.КолРезерв, 0)) КАК КолРезерв,
    |    (ЕСТЬNULL(РегПотребности.КолРазмещено, 0)) КАК КолРазмещено,
    |    (ЕСТЬNULL(РегПотребности.КолНЗП, 0)) КАК КолНЗП,
    |    (ЕСТЬNULL(РегПотребности.КолПотребность, 0) - ЕСТЬNULL(РегПотребности.КолРезерв, 0) - ЕСТЬNULL(РегПотребности.КолРазмещено, 0) - ЕСТЬNULL(РегПотребности.КолНЗП, 0)) КАК Необеспечено,
    |    АналогиНоменклатуры.Аналог.*}
    |{УПОРЯДОЧИТЬ ПО
    |    ЗаказНаПроизводство.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    Продукция.*,
    |    ХарактеристикаПродукции.*,
    |    ЕдиницаИзмерения.*,
    |    ВидВоспроизводства.*,
    |    Спецификация.*,
    |    Подразделение.*,
    |    Склад.*,
    |    ЗаказПоставщику.*,
    |    КолПотребность,
    |    КолРезерв,
    |    КолРазмещено,
    |    КолНЗП,
    |    Необеспечено,
    |    Аналог.*}
    |ИТОГИ
    |    СУММА(КолПотребность),
    |    СУММА(КолРезерв),
    |    СУММА(КолРазмещено),
    |    СУММА(КолНЗП),
    |    СУММА(Необеспечено)
    |ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    ЗаказНаПроизводство.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*,
    |    Продукция.*,
    |    ХарактеристикаПродукции.*,
    |    ЕдиницаИзмерения.*,
    |    ВидВоспроизводства.*,
    |    Спецификация.*,
    |    Подразделение.*,
    |    Склад.*,
    |    ЗаказПоставщику.*,
    |    Аналог.*}";
    
  8. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Может просто таблицы не правильно связаны? Все должно работать, но поля не выводятся.
  9. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Есть вот такой простой пример:
    Код:
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    АналогиНоменклатуры.Номенклатура,
    |    АналогиНоменклатуры.Аналог
    |{ВЫБРАТЬ
    |    Номенклатура.*,
    |    Аналог.*}
    |ИЗ
    |    РегистрСведений.АналогиНоменклатуры КАК АналогиНоменклатуры
    |{ГДЕ
    |    АналогиНоменклатуры.Номенклатура.*,
    |    АналогиНоменклатуры.Аналог.*}
    |{УПОРЯДОЧИТЬ ПО
    |    Номенклатура.*,
    |    Аналог.*}
    |ИТОГИ ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    Номенклатура.*,
    |    Аналог.*}";
    
    В универсальном отчете данные по основной номенклатуре выводятся, а по аналогам - нет.
    Разберусь на этом примере, возможно и задачу свою решу. Но пока не могу понять.
  10. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Так еще интересно группировка по этому полю ведется.
  11. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Вы в консоле запросов смотрите или просто смотрите что построитель отчет не вывел? Сам запрос вернул данные? Права на справочник есть у Вас "Выбрать разрешенные" указано?
  12. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Смотрю непосредственно уже в клиенте.
    Не понял что значит:
    Права на справочник есть у Вас "Выбрать разрешенные" указано?
  13. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Давайте поэтапно.
    Запрос в простой кансоле запросов результат нормально возвращает?
    Если в консоле отчет нормально Вам вернул результат значит Вы не корректно настроили сам построитель универсально отчета
    Пример настройки полей построителя в типовом отчете
    Код:
    // Представления полей отчета.
    // Необходимо вызывать для каждого поля запроса.
    // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВидЗаказчика", "Вид заказчика");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Заказчик", "Заказчик");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВнутреннийЗаказ", "Заказ");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Номенклатура", "Номенклатура");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаНоменклатуры", "Характеристика номенклатуры");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СтатусПартии", "Статус партии");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЕдиницаИзмерения", "Единица заказа");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СостояниеОтгрузки", "Состояние отгрузки");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Запланировано",	  "Запланировано отгрузить");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ОсталосьОтгрузить",  "Осталось выполнить");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СоСклада",		   "Зарезервировано на складе");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Заказано",		   "Размещено в заказах");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ОсталосьОбеспечить", "Осталось обеспечить");
  14. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Да, конструктор запроса нормально возвращает. Делал через него. Переписал код тоолько на один реквизит у аналога - Наименование.
    Код:
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("АналогНаименование",		    "АналогНаименование");
    
    Есть интересный участок кода где у меня не прописан нужный реквизит:
    Код:
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ЗаказНаПроизводство",	    "ЗаказНаПроизводство",	    "Заказ на производство",	   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Номенклатура",			   "Номенклатура",			   "Номенклатура",			    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Продукция",				  "Продукция",				  "Продукция",				   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ХарактеристикаНоменклатуры", "ХарактеристикаНоменклатуры", "Характеристика номенклатуры", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ХарактеристикаПродукции",    "ХарактеристикаПродукции",    "Характеристика продукции",    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Подразделение",			  "Подразделение",			  "Подразделение",			   ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Подразделения);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.ЗаказПоставщику",	          "ЗаказПоставщику",		    "Заказ резервирования",	    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
    УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("РегПотребности.Склад",	       		   "Склад",					 "Склад резервирования",		 ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Склады);
    
    Для аналогов номенклатуры как правильно прописать поле:
    ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.???
  15. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Обратите внимание что я Вам про мСтруктураПредставлениеПолей пишу а Вы мне про СвойстваИКатегорииДляПоля. Это абсолютно разные вещи.
  16. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Фрагмент кода:
    Код:
       	
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |	РегПотребности.ЗаказНаПроизводство,
    |	РегПотребности.Номенклатура,
    |	РегПотребности.ХарактеристикаНоменклатуры,
    |	РегПотребности.Продукция,
    |	РегПотребности.ХарактеристикаПродукции,
    |	РегПотребности.ЕдиницаИзмерения,
    |	РегПотребности.ВидВоспроизводства,
    |	РегПотребности.Спецификация,
    |	РегПотребности.Подразделение,
    |	РегПотребности.Склад,
    |	РегПотребности.ЗаказПоставщику,
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказНаПроизводство),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.Номенклатура),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаНоменклатуры),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.Продукция),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаПродукции),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.ЕдиницаИзмерения),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.ВидВоспроизводства),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.Спецификация),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.Подразделение),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.Склад),
    |	ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказПоставщику),
    |	РегПотребности.КолПотребность КАК КолПотребность,
    |	РегПотребности.КолРезерв КАК КолРезерв,
    |	РегПотребности.КолРазмещено КАК КолРазмещено,
    |	РегПотребности.КолНЗП КАК КолНЗП,
    |	РегПотребности.КолПотребность - РегПотребности.КолРезерв - РегПотребности.КолРазмещено - РегПотребности.КолНЗП КАК Необеспечено,
    |	ПРЕДСТАВЛЕНИЕ(АналогиНоменклатуры.Аналог.Наименование),
    |	АналогиНоменклатуры.Аналог.Наименование
    
    А вот то про что вы пишите:
    Код:
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЗаказНаПроизводство",		"Заказ на производство");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаНоменклатуры", "Характеристика номенклатуры");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ХарактеристикаПродукции",	"Характеристика продукции");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЕдиницаИзмерения",		   "Единица измерения");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВидВоспроизводства",		 "Вид воспроизводства");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЗаказПоставщику",			"Заказ размещения");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Склад",					   "Склад резервирования");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("АналогНаименование",			"АналогНаименование");
    
    
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолПотребность", "Потребность (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолРезерв",	  "Зарезервировано на складе (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолРазмещено",   "Размещено в заказах (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("КолНЗП",		 "Наличие в НЗП (кол-во)");
    УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Необеспечено",   "Осталось обеспечить");
    
    Тут присутствует нужное измерение(АналогНаименование), но не выводится информация на экран все равно...
  17. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Надо бы тогда посмотреть. Какая конфигурация? Будет ли этот отчет работать в типовой? Скиньте мне сам отчет, прямо сейчас посмотреть не смогу, приблизительно четверг-пятница, если терпит, кидайте я посмотрю
  18. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26

    Вложения:

  19. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Почти все настроено только Вы не указали в конструкторе запроса Аналог в качестве поля итога и соответственно добавить его как измерение Вы не можете
    Посмотреть вложение 15134
    У Вас он называется АналогНаименование
    Уточню по корректности отчета
    1. Проверьте правильно ли Вы объединяете номенклатура и аналоги.
    2. Проверьте чтобы тип данных для группировки не был строкой, используйте ссылку
    Посмотреть вложение 15135
    В Вашем случае функция
    Код:
    УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Аналог");
    вызывала исключение в коде
    Код:
    Функция ДобавитьИзмерениеСтроки(ПутьКДанным, Знач ТипИзмерения = Неопределено) Экспорт
    ТипИзмерения = ?(ТипИзмерения = Неопределено, ТипИзмеренияПостроителяОтчета.Элементы, ТипИзмерения);Попытка
    ПостроительОтчета.ИзмеренияСтроки.Добавить(ПутьКДанным,, ТипИзмерения);Исключение
    Возврат Ложь;КонецПопытки;
    Возврат Истина;
    КонецФункции // ДобавитьИзмерениеСтроки()
    на строке
    Код:
    ПостроительОтчета.ИзмеренияСтроки.Добавить(ПутьКДанным,, ТипИзмерения);
    ибо данных по пути "Путь к данным" не существует, добавьте поле в итоге как указано на первом скрине.
    Сейчас на форум реже намного буду выходить, если что пишите снова в личку.
    Удачи!!!

    Вложения:

    • 1.png
      1.png
      Размер файла:
      32 КБ
      Просмотров:
      6
    • 2.png
      2.png
      Размер файла:
      28,3 КБ
      Просмотров:
      9
Похожие темы
  1. Eugeny
    Ответов:
    1
    Просмотров:
    2.180
  2. Dmitry11
    Ответов:
    5
    Просмотров:
    1.244
  3. softwarebbs
    Ответов:
    1
    Просмотров:
    1.660
  4. Juli
    Ответов:
    5
    Просмотров:
    2.025
  5. Doza
    Ответов:
    2
    Просмотров:
    5.844
Загрузка...

Поделиться этой страницей