Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 июн 2025, 02:34

ПФ не доступна

Автор sali, 27 мая 2025, 13:54

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

sali

Функция ПечатьНакладнойБезЦен(МассивОбъектов, ОбъектыПечати)

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "РеализацияТоваровУслуг_НакладнаяБезЦен";

Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.РеализацияТоваровУслуг.ПФ_MXL_НакладнаяБезЦен"); //ПолучитьМакет("ПФ_MXL_НакладнаяБезЦен");

ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаДокумента.Ссылка КАК Ссылка,
| ТаблицаДокумента.Номер КАК Номер,
| ТаблицаДокумента.Дата КАК Дата,
| ТаблицаДокумента.Организация КАК Организация,
| ТаблицаДокумента.Организация.НаименованиеПолное КАК ОрганизацияПредставление,
| ТаблицаДокумента.Организация.ИНН КАК ОрганизацияИНН,
| ТаблицаДокумента.Склад КАК Склад,
| ПРЕДСТАВЛЕНИЕ(ТаблицаДокумента.Склад) КАК СкладПредставление,
| ТаблицаДокумента.Контрагент КАК Контрагент,
| ТаблицаДокумента.Контрагент.НаименованиеПолное КАК КонтрагентПредставление,
| ТаблицаДокумента.ВалютаДокумента КАК ВалютаДокумента,
| ТаблицаДокумента.Товары.(
| НомерСтроки КАК НомерСтроки,
| Номенклатура КАК Номенклатура,
| Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
| Номенклатура.Код КАК НоменклатураКод,
| ПРЕДСТАВЛЕНИЕ(ТаблицаДокумента.Товары.Номенклатура.ЕдиницаИзмерения) КАК ЕИ,
| Количество КАК Количество
| ) КАК Товары,
| ТаблицаДокумента.Услуги.(
| НомерСтроки КАК НомерСтроки,
| Номенклатура КАК Номенклатура,
| Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
| Номенклатура.Код КАК НоменклатураКод,
| ПРЕДСТАВЛЕНИЕ(ТаблицаДокумента.Услуги.Номенклатура.ЕдиницаИзмерения) КАК ЕИ,
| Количество КАК Количество
| ) КАК Услуги,
| ТаблицаДокумента.ОС.(
| НомерСтроки КАК НомерСтроки,
| ОсновноеСредство КАК Номенклатура,
| ОсновноеСредство.НаименованиеПолное КАК НоменклатураПредставление,
| ОсновноеСредство.Код КАК НоменклатураКод,
| НЕОПРЕДЕЛЕНО КАК ЕИ,
| 1 КАК Количество
| ) КАК ОС
|ИЗ
| Документ.РеализацияТоваровУслуг КАК ТаблицаДокумента
|ГДЕ
| ТаблицаДокумента.Ссылка В(&СписокДокументов)";

Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("СписокДокументов", МассивОбъектов);

Шапка = Запрос.Выполнить().Выбрать();
Пока Шапка.Следующий() Цикл
Если ТабличныйДокумент.ВысотаТаблицы > 0 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

// Подготовка данных
ДанныеПечати = Новый Структура;

ТекстЗаголовка = СформироватьЗаголовокДокумента(Шапка, НСтр("ru = 'Расходная накладная'"));
ДанныеПечати.Вставить("ТекстЗаголовка", ТекстЗаголовка);
ДанныеПечати.Вставить("ОрганизацияПредставление", Шапка.ОрганизацияПредставление);
ДанныеПечати.Вставить("ПолучательПредставление", Шапка.КонтрагентПредставление);

ТаблицаТовары = Шапка.Товары.Выгрузить();
ТаблицаУслуги = Шапка.Услуги.Выгрузить();
ТаблицаОС = Шапка.ОС.Выгрузить();

КоличествоНаименований = ТаблицаТовары.Количество() + ТаблицаУслуги.Количество() + ТаблицаОС.Количество();

ДанныеПечати.Вставить("ИтоговаяСтрока",
СтрШаблон(НСтр("ru = 'Всего наименований %1"),
Формат(КоличествоНаименований, "ЧН=0; ЧГ=0")));

// Области
МассивОбластейМакета = Новый Массив;
МассивОбластейМакета.Добавить("Заголовок");
МассивОбластейМакета.Добавить("ШапкаТаблицы");
МассивОбластейМакета.Добавить("Строка");
МассивОбластейМакета.Добавить("КолвоНаименований");
МассивОбластейМакета.Добавить("Подписи");

Для Каждого ИмяОбласти Из МассивОбластейМакета Цикл
ОбластьМакета = Макет.ПолучитьОбласть(ИмяОбласти);
Если ИмяОбласти <> "Строка" Тогда
ЗаполнитьЗначенияСвойств(ОбластьМакета.Параметры, Шапка);
ЗаполнитьЗначенияСвойств(ОбластьМакета.Параметры, ДанныеПечати);
ТабличныйДокумент.Вывести(ОбластьМакета);
ИначеЕсли ИмяОбласти = "Строка" Тогда
Для Каждого СтрокаТаблицы Из ТаблицаТовары Цикл
ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Для Каждого СтрокаТаблицы Из ТаблицаУслуги Цикл
ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Для Каждого СтрокаТаблицы Из ТаблицаОС Цикл
ОбластьМакета.Параметры.Заполнить(СтрокаТаблицы);
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЦикла;
КонецЕсли;
КонецЦикла;

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
КонецЦикла;

Возврат ТабличныйДокумент;

КонецФункции

код новой пф в расширении, без цен. делаю все как обычно, но.....что-то да опять выходит . что? - не понимаю. в консоли ругалось на ""ед."" как ЕИ , в конфигураторе так сделать не получилось - "ед." как еи. что может еще повлиять? весь код скопированный 

sali

&После("Печать")
Процедура НБЦ_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НакладнаяБезЦен") Тогда
// Формируем табличный документ и добавляем его в коллекцию печатных форм.
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"НакладнаяБезЦен", НСтр("ru = 'Накладная без цен'"), ПечатьНакладнойБезЦен(МассивОбъектов, ОбъектыПечати),,
"Документ.РеализацияТоваровУслуг.ПФ_MXL_НакладнаяБезЦен");
КонецЕсли;
КонецПроцедуры

&После("ДобавитьКомандыПечати")
Процедура НБЦ_ДобавитьКомандыПечати(КомандыПечати)

КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "НакладнаяБезЦен";
КомандаПечати.Представление = НСтр("ru = 'Накладная без цен'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь;
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.Порядок = 1;

КонецПроцедуры   

Максим75

sali, так что не выходит то?
ошибка в запросе валится? или с печатной формой бочина?

sali

хрен его знает , что было. но уже не актуально, разрешилось само собой

Максим75

Цитата: sali от 27 мая 2025, 14:32хрен его знает , что было. но уже не актуально, разрешилось само собой
были демоны, но они самоликвидировались

sali

Максим75, да :) 
всё так и было

Теги:

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

Рейтинг@Mail.ru

Поиск