B
bredis
Платформа 8.1 Задача такова, что бы в печатной форме в зависимости от склада отправителя изменялся формат времени. Условие такое: Если СкладОтправитель = Кондитерский цех тогда и надо вывести формат даты с часами, минутами и секундами, который описан в функции: "Функция СформироватьЗаголовокДокумента1" Иначе выводится стандартный заголовок, который вызывается из общего модуля.
Мучился, мучился ну никак и подсказать не кому.
Вот в этом куске загвоздка.
"00103" Это код Кондитерского цеха в справочнике.
"Поставщик" это псевдоним реквезита СкладОтправитель.
Мучился, мучился ну никак и подсказать не кому.
Функция СформироватьЗаголовокДокумента1(ДокументОбъект, НазваниеДокумента = "ПеремещениеТоваров")
Возврат НазваниеДокумента + " № " + ОбщегоНазначения.ПолучитьНомерНаПечать(ДокументОбъект)
+ " от " + Формат(ДокументОбъект.Дата, "ДФ=""дд ММ гггг 'г.' ЧЧ:мм:сс""");
КонецФункции
Функция Печать() Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст ="ВЫБРАТЬ
| ПеремещениеТоваров.Номер,
| ПеремещениеТоваров.Дата,
| ПеремещениеТоваров.Организация,
| ПеремещениеТоваров.СкладОтправитель КАК Поставщик,
| ПеремещениеТоваров.СкладПолучатель КАК Получатель,
| ПеремещениеТоваров.СкладОтправитель.Представление КАК ПредставлениеПоставщика,
| ПеремещениеТоваров.СкладПолучатель.Представление КАК ПредставлениеПолучателя,
| ПеремещениеТоваров.Грузополучатель
|ИЗ
| Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
|ГДЕ
| ПеремещениеТоваров.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();
ЗапросПоТоварам = Новый Запрос();
ЗапросПоТоварам.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
ЗапросПоТоварам.Текст =
"ВЫБРАТЬ
| ПеремещениеТоваровТовары.Ссылка,
| ПеремещениеТоваровТовары.НомерСтроки,
| ПеремещениеТоваровТовары.Номенклатура,
| ПеремещениеТоваровТовары.Количество,
| ПеремещениеТоваровТовары.ЕдиницаИзмерения КАК ЕдиницаХранения,
| ПеремещениеТоваровТовары.Номенклатура.НаименованиеПолное КАК Товар,
| ПеремещениеТоваровТовары.ЦенаВРознице КАК ЦенаРозн,
| ПеремещениеТоваровТовары.СуммаВРознице КАК СуммаРозн,
| ПеремещениеТоваровТовары.СуммаБезНДС КАК Сумма,
| ПеремещениеТоваровТовары.Цена КАК Цена
|ИЗ
| Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|ГДЕ
| ПеремещениеТоваровТовары.Ссылка = &ТекущийДокумент";
ВыборкаСтрок = ЗапросПоТоварам.Выполнить().Выгрузить();
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_Накладная";
Макет = ПолучитьМакет("Макет");
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст ="ВЫБРАТЬ
| ПеремещениеТоваров.СкладОтправитель КАК Поставщик
|ИЗ
| Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
|ИТОГИ ПО
| Поставщик";
Поставщик = Запрос.Выполнить();
Если
Поставщик = Справочники.Склады.НайтиПоКоду("00103") тогда
ОбластьМакета.Параметры.ТекстЗаголовка = СформироватьЗаголовокДокумента1(Шапка, "Накладная на перемещение");
Иначе
ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСдиалогами.СформироватьЗаголовокДокумента(Шапка, "Накладная на перемещение");
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.ПредставлениеПоставщика = Шапка.ПредставлениеПоставщика;//ОписаниеОрганизации(СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата), "ПолноеНаименование,");
ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик;
ТабДокумент.Вывести(ОбластьМакета);
Вот в этом куске загвоздка.
"00103" Это код Кондитерского цеха в справочнике.
"Поставщик" это псевдоним реквезита СкладОтправитель.
Макет = ПолучитьМакет("Макет");
// Выводим шапку накладной
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст ="ВЫБРАТЬ
| ПеремещениеТоваров.СкладОтправитель КАК Поставщик
|ИЗ
| Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
|ИТОГИ ПО
| Поставщик";
Поставщик = Запрос.Выполнить();
Если
Поставщик = Справочники.Склады.НайтиПоКоду("00103") тогда
ОбластьМакета.Параметры.ТекстЗаголовка = СформироватьЗаголовокДокумента1(Шапка, "Накладная на перемещение");
Иначе
ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСдиалогами.СформироватьЗаголовокДокумента(Шапка, "Накладная на перемещение");
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);