Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 09:42

Как добавить в универсальный отчет новый регистр?

Автор MyNameNoName, 18 июн 2013, 16:21

0 Пользователей и 1 гость просматривают эту тему.

MyNameNoName

Здравствуйте. Стоит задача в отчет АнализОбеспеченностиЗаказовНаПроизводство добавить новый регистр сведений АналогиНоменклатуры.
Дописал необходимый код, но проблема в том что отбор и группировка по аналогам номенклатуры ведется, а добавление новых колонок в настройках есть, а после формирования отчета они на экран не выводятся. В чем может быть проблема?
Заранее всем спасибо.
Переписал код следующим образом:

ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| РегПотребности.ЗаказНаПроизводство,
| РегПотребности.Номенклатура,
| РегПотребности.ХарактеристикаНоменклатуры,
| РегПотребности.Продукция,
| РегПотребности.ХарактеристикаПродукции,
| РегПотребности.ЕдиницаИзмерения,
| РегПотребности.ВидВоспроизводства,
| РегПотребности.Спецификация,
| РегПотребности.Подразделение,
| РегПотребности.Склад,
| РегПотребности.ЗаказПоставщику,
| ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказНаПроизводство),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.Номенклатура),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаНоменклатуры),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.Продукция),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.ХарактеристикаПродукции),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.ЕдиницаИзмерения),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.ВидВоспроизводства),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.Спецификация),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.Подразделение),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.Склад),
| ПРЕДСТАВЛЕНИЕ(РегПотребности.ЗаказПоставщику),
| РегПотребности.КолПотребность КАК КолПотребность,
| РегПотребности.КолРезерв КАК КолРезерв,
| РегПотребности.КолРазмещено КАК КолРазмещено,
| РегПотребности.КолНЗП КАК КолНЗП,
| РегПотребности.КолПотребность - РегПотребности.КолРезерв - РегПотребности.КолРазмещено - РегПотребности.КолНЗП КАК Необеспечено,
| АналогиНоменклатуры.Аналог
|{ВЫБРАТЬ
| ЗаказНаПроизводство.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| Продукция.*,
| ХарактеристикаПродукции.*,
| ЕдиницаИзмерения.*,
| ВидВоспроизводства.*,
| Спецификация.*,
| Подразделение.*,
| Склад.*,
| ЗаказПоставщику.*,
| КолПотребность,
| КолРезерв,
| КолРазмещено,
| КолНЗП,
| Необеспечено,
| Аналог.*}
|ИЗ
| (ВЫБРАТЬ
| РегПотребности.ЗаказНаПроизводство КАК ЗаказНаПроизводство,
| РегПотребности.Номенклатура КАК Номенклатура,
| РегПотребности.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегПотребности.Продукция КАК Продукция,
| РегПотребности.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
| РегПотребности.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегПотребности.ВидВоспроизводства КАК ВидВоспроизводства,
| РегПотребности.Спецификация КАК Спецификация,
| РегПотребности.Подразделение КАК Подразделение,
| 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)) КАК Необеспечено,
| АналогиНоменклатуры.Аналог.*}
|{УПОРЯДОЧИТЬ ПО
| ЗаказНаПроизводство.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| Продукция.*,
| ХарактеристикаПродукции.*,
| ЕдиницаИзмерения.*,
| ВидВоспроизводства.*,
| Спецификация.*,
| Подразделение.*,
| Склад.*,
| ЗаказПоставщику.*,
| КолПотребность,
| КолРезерв,
| КолРазмещено,
| КолНЗП,
| Необеспечено,
| Аналог.*}
|ИТОГИ
| СУММА(КолПотребность),
| СУММА(КолРезерв),
| СУММА(КолРазмещено),
| СУММА(КолНЗП),
| СУММА(Необеспечено)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| ЗаказНаПроизводство.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| Продукция.*,
| ХарактеристикаПродукции.*,
| ЕдиницаИзмерения.*,
| ВидВоспроизводства.*,
| Спецификация.*,
| Подразделение.*,
| Склад.*,
| ЗаказПоставщику.*,
| Аналог.*}";

MyNameNoName

Также в целях эксперимента пытался написать простой пример, но вывод по аналогам не работает.
Видимо таже проблема.

    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        |    АналогиНоменклатуры.Номенклатура,
        |    АналогиНоменклатуры.Аналог
        |{ВЫБРАТЬ
        |    Номенклатура.*,
        |    Аналог.*}
        |ИЗ
        |    РегистрСведений.АналогиНоменклатуры КАК АналогиНоменклатуры
        |{ГДЕ
        |    АналогиНоменклатуры.Номенклатура.*,
        |    АналогиНоменклатуры.Аналог.*}
        |{УПОРЯДОЧИТЬ ПО
        |    Номенклатура.*,
        |    Аналог.*}
        |ИТОГИ ПО
        |    ОБЩИЕ
        |{ИТОГИ ПО
        |    Номенклатура.*,
        |    Аналог.*}";

MuI_I_Ika

Может быть вы забыли отредактировать код, где устанавливаются измерения и отборы отчета (это в том случае, если универсальный отчет на построителе отчета).

Если универсальный отчет на СКД, то нужно смотреть настройки СКД.

MyNameNoName

ПО все видимости так и есть.
Только в каком блоке код редактировать?
Если можете посмотрите код, подскажите где редактировать код? Спасибо.

#Если Клиент Тогда
Перем мЕстьНЗП;

Функция СформироватьТекстЗапросаНЗП()
ТекстЗапроса = "
|ВЫБРАТЬ
| РегНЗП.Заказ КАК ЗаказНаПроизводство,
| РегНЗП.Затрата КАК Материал,
| РегНЗП.ХарактеристикаЗатраты КАК ХарактеристикаМатериала,
| 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;

#КонецЕсли


Добавлено: 19 июн 2013, 08:14


Цитата: MuI_I_Ika от 18 июн 2013, 18:11
Может быть вы забыли отредактировать код, где устанавливаются измерения и отборы отчета (это в том случае, если универсальный отчет на построителе отчета).
Хотя в настройках отчета у меня доступно добавленное измерение. Но по нему информация на экран не выводится.

MuI_I_Ika

 УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура"); - измерения

УниверсальныйОтчет.ДобавитьОтбор("Подразделение"); - отборы

УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Склад",                       "Склад резервирования"); - представления полей

MyNameNoName

Исправил но все равно не работает

#Если Клиент Тогда
Перем мЕстьНЗП;
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ НАЧАЛЬНОЙ НАСТРОЙКИ ОТЧЕТА

Функция СформироватьТекстЗапросаНЗП()
ТекстЗапроса = "
|ВЫБРАТЬ
| РегНЗП.Заказ КАК ЗаказНаПроизводство,
| РегНЗП.Затрата КАК Материал,
| РегНЗП.ХарактеристикаЗатраты КАК ХарактеристикаМатериала,
| 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;

#КонецЕсли

Добавлено: 19 июн 2013, 12:21


Видимо в чем то другом проблема

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск