salton @ Сегодня, 16:50
необходимо зарегистрироваться для просмотра ссылки
,
Функция ПечатнаяФормаМаршрутногоЛиста(МассивОбъектов, ОбъектыПечати, ПараметрыПечати)
УстановитьПривилегированныйРежим(Истина);
Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.МаршрутныйНовый.МаршрутныйЛист");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Реквизиты.Ссылка,
| Реквизиты.Номер,
| Реквизиты.Дата,
| Реквизиты.Распоряжение,
| Реквизиты.Распоряжение.Номер КАК РаспоряжениеНомер,
| Реквизиты.Распоряжение.Дата КАК РаспоряжениеДата,
| Реквизиты.КодСтроки КАК КодСтроки,
| Реквизиты.Спецификация.МногоэтапныйПроизводственныйПроцесс КАК МногоэтапныйПроизводственныйПроцесс,
| Реквизиты.Спецификация КАК Спецификация,
| Реквизиты.Спецификация.Представление КАК СпецификацияПредставление,
| Реквизиты.Этап КАК Этап,
| Реквизиты.Этап.Представление КАК ЭтапПредставление,
| Реквизиты.Подразделение КАК Подразделение,
| Реквизиты.Подразделение.Представление КАК ПодразделениеПредставление,
| Реквизиты.Подразделение.Код КАК КодПодразделения,
| Реквизиты.Номенклатура КАК Номенклатура,
| Реквизиты.Номенклатура.Представление КАК НоменклатураПредставление,
| Реквизиты.Характеристика КАК Характеристика,
| Реквизиты.Характеристика.Представление КАК ХарактеристикаПредставление,
| Реквизиты.МаршрутнаяКарта КАК МаршрутнаяКарта,
| Реквизиты.МаршрутнаяКарта.Представление КАК МаршрутнаяКартаПредставление,
| Реквизиты.УправлениеМаршрутнымиЛистами КАК УправлениеМаршрутнымиЛистами,
| Реквизиты.Начало,
| Реквизиты.Окончание,
| Реквизиты.Запланировано,
| Реквизиты.Произведено,
| Реквизиты.Брак
|ИЗ
| Документ.МаршрутныйЛистПроизводства КАК Реквизиты
|ГДЕ
| Реквизиты.Ссылка В(&МассивДокументов)
|
|УПОРЯДОЧИТЬ ПО
| Реквизиты.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаВыходныеИзделия.Ссылка КАК Ссылка,
| ТаблицаВыходныеИзделия.НомерСтроки,
| ТаблицаВыходныеИзделия.Номенклатура,
| ТаблицаВыходныеИзделия.Номенклатура.Код КАК НоменклатураКод,
| ТаблицаВыходныеИзделия.Номенклатура.Артикул КАК НоменклатураАртикул,
| ТаблицаВыходныеИзделия.Номенклатура КАК Номенклатура,
| ТаблицаВыходныеИзделия.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
| ТаблицаВыходныеИзделия.Характеристика.Представление КАК ХарактеристикаПредставление,
| ВЫБОР
| КОГДА ТаблицаВыходныеИзделия.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
| ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаВыходныеИзделия.Упаковка.ЕдиницаИзмерения)
| ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаВыходныеИзделия.Номенклатура.ЕдиницаИзмерения)
| КОНЕЦ КАК ЕдиницаИзмеренияНаименование,
| ТаблицаВыходныеИзделия.КоличествоУпаковок КАК Норматив,
| ВЫБОР
| КОГДА ТаблицаВыходныеИзделия.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаВыходныеИзделия.КоличествоУпаковокФакт
| ИНАЧЕ 0
| КОНЕЦ КАК Факт,
| ВЫБОР
| КОГДА ТаблицаВыходныеИзделия.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаВыходныеИзделия.КоличествоУпаковокОтклонение
| ИНАЧЕ 0
| КОНЕЦ КАК Отклонение,
| ЕСТЬNULL(ТаблицаОперации.НомерОперации, """") КАК НомерОперации,
| ЕСТЬNULL(ТаблицаОперации.Операция, НЕОПРЕДЕЛЕНО) КАК Операция
|ИЗ
| Документ.МаршрутныйЛистПроизводства.ВыходныеИзделия КАК ТаблицаВыходныеИзделия
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации
| ПО (ТаблицаОперации.Ссылка = ТаблицаВыходныеИзделия.Ссылка)
| И (ТаблицаОперации.КлючСвязи = ТаблицаВыходныеИзделия.КлючСвязиОперации)
|ГДЕ
| ТаблицаВыходныеИзделия.Ссылка В(&МассивДокументов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаМатериалыИУслуги.Ссылка КАК Ссылка,
| ТаблицаМатериалыИУслуги.НомерСтроки,
| ТаблицаМатериалыИУслуги.Номенклатура,
| ТаблицаМатериалыИУслуги.Номенклатура.Код КАК НоменклатураКод,
| ТаблицаМатериалыИУслуги.Номенклатура.Артикул КАК НоменклатураАртикул,
| ТаблицаМатериалыИУслуги.Номенклатура КАК Номенклатура,
| ТаблицаМатериалыИУслуги.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление,
| ТаблицаМатериалыИУслуги.Характеристика.Наименование КАК ХарактеристикаПредставление,
| ВЫБОР
| КОГДА ТаблицаМатериалыИУслуги.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
| ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаМатериалыИУслуги.Упаковка.ЕдиницаИзмерения)
| ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаМатериалыИУслуги.Номенклатура.ЕдиницаИзмерения)
| КОНЕЦ КАК ЕдиницаИзмеренияНаименование,
| ТаблицаМатериалыИУслуги.КоличествоУпаковок КАК Норматив,
| ВЫБОР
| КОГДА ТаблицаМатериалыИУслуги.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаМатериалыИУслуги.КоличествоУпаковокФакт
| ИНАЧЕ 0
| КОНЕЦ КАК Факт,
| ВЫБОР
| КОГДА ТаблицаМатериалыИУслуги.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется),
| ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен))
| ТОГДА ТаблицаМатериалыИУслуги.КоличествоУпаковокОтклонение
| ИНАЧЕ 0
| КОНЕЦ КАК Отклонение,
| ЕСТЬNULL(ТаблицаОперации.НомерОперации, """") КАК НомерОперации,
| ЕСТЬNULL(ТаблицаОперации.Операция, НЕОПРЕДЕЛЕНО) КАК Операция
|ИЗ
| Документ.МаршрутныйЛистПроизводства.МатериалыИУслуги КАК ТаблицаМатериалыИУслуги
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации
| ПО (ТаблицаОперации.Ссылка = ТаблицаМатериалыИУслуги.Ссылка)
| И (ТаблицаОперации.КлючСвязи = ТаблицаМатериалыИУслуги.КлючСвязиОперации)
|ГДЕ
| ТаблицаМатериалыИУслуги.Ссылка В(&МассивДокументов)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ТаблицаОперации.Ссылка КАК Ссылка,
| ТаблицаОперации.Операция КАК Операция,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаОперации.Операция) КАК ОперацияПредставление,
| ТаблицаОперации.НомерОперации КАК НомерОперации,
| ТаблицаОперации.ВремяВыполнения КАК ВремяВыполнения,
| ТаблицаОперации.ВремяВыполненияЕдИзм КАК ВремяВыполненияЕдИзм,
| ТаблицаОперации.ПодготовительноеВремя КАК ПодготовительноеВремя,
| ТаблицаОперации.ПодготовительноеВремяЕдИзм КАК ПодготовительноеВремяЕдИзм,
| ТаблицаОперации.ЗаключительноеВремя КАК ЗаключительноеВремя,
| ТаблицаОперации.ЗаключительноеВремяЕдИзм КАК ЗаключительноеВремяЕдИзм
|ИЗ
| Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации
|ГДЕ
| ТаблицаОперации.Ссылка В(&МассивДокументов)";
Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ПолеСлева = 5;
ТабличныйДокумент.ПолеСправа = 5;
ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_МаршрутныйЛистНовый_МаршрутныйЛист";
МассивРезультатов = Запрос.ВыполнитьПакет();
ДанныеПечати = МассивРезультатов[0].Выбрать();
ТаблицаВыходныеИзделия = МассивРезультатов[1].Выгрузить();
ТаблицаВыходныеИзделия.Индексы.Добавить("Ссылка");
ТаблицаМатериалыИУслуги = МассивРезультатов[2].Выгрузить();
ТаблицаМатериалыИУслуги.Индексы.Добавить("Ссылка");
ТаблицаОперации = МассивРезультатов[3].Выгрузить();
ТаблицаОперации.Индексы.Добавить("Ссылка");
КолонкаКодов = ФормированиеПечатныхФорм.ИмяДополнительнойКолонки();
ПервыйДокумент = Истина;
Пока ДанныеПечати.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
// Выводим общие реквизиты шапки
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечати);
// Используем структуру для заполнения параметров, т.к. макет может изменяться пользователем
ДополнительныеПараметрыОбластьМакета = Новый Структура;
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.Номер);
ДополнительныеПараметрыОбластьМакета.Вставить("НомерДокумента", НомерДокумента);
ДополнительныеПараметрыОбластьМакета.Вставить("ДатаДокумента", Формат(ДанныеПечати.Дата, "ДЛФ=D"));
// РаспоряжениеПредставление
НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеПечати.РаспоряжениеНомер);
РаспоряжениеПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '№%1 от %2 (код строки %3)'"),
НомерДокумента,
Формат(ДанныеПечати.Дата, "ДЛФ=D"),
Формат(ДанныеПечати.КодСтроки, "ЧГ="));
ДополнительныеПараметрыОбластьМакета.Вставить("РаспоряжениеПредставление", РаспоряжениеПредставление);
Если Минута(ДанныеПечати.Начало) = 0
И Час(ДанныеПечати.Начало) = 0
И Минута(ДанныеПечати.Окончание) = 59
И Час(ДанныеПечати.Окончание) = 23 Тогда
ФорматПериода = "ДЛФ=D";
Иначе
ФорматПериода = "ДФ='dd.MM.yy ЧЧ:мм'";
КонецЕсли;
// НачатьНеРаньше
НачатьНеРаньше = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '(не раньше %1)'"),
Формат(ДанныеПечати.Начало, ФорматПериода));
ДополнительныеПараметрыОбластьМакета.Вставить("НачатьНеРаньше", НачатьНеРаньше);
// СрокНеПозже
СрокНеПозже = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '(не позже %1)'"),
Формат(ДанныеПечати.Окончание, ФорматПериода));
ДополнительныеПараметрыОбластьМакета.Вставить("СрокНеПозже", СрокНеПозже);
// ИзделиеПредставление
ИзделиеПредставление = НоменклатураКлиентСервер.ПредставлениеНоменклатурыДляПечати(
ДанныеПечати.НоменклатураПредставление,
ДанныеПечати.ХарактеристикаПредставление);
ДополнительныеПараметрыОбластьМакета.Вставить("ИзделиеПредставление", ИзделиеПредставление);
// СпецификацияПредставление
СпецификацияПредставление = ДанныеПечати.СпецификацияПредставление;
Если ДанныеПечати.МногоэтапныйПроизводственныйПроцесс Тогда
СпецификацияПредставление = СпецификацияПредставление + ", " + ДанныеПечати.ЭтапПредставление;
КонецЕсли;
ДополнительныеПараметрыОбластьМакета.Вставить("СпецификацияПредставление", СпецификацияПредставление);
ОбластьМакета.Параметры.Заполнить(ДополнительныеПараметрыОбластьМакета);
ТабличныйДокумент.Вывести(ОбластьМакета);
НомерСтраницы = 1;
// Создаем массив для проверки вывода
МассивВыводимыхОбластей = Новый Массив;
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеПечати.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Тупо взял с маршрутного скопировал чуть подкорректировал и все, но выдает ошибку здесь
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
МакетОбработки = ПолучитьМакет("МакетМаршрутныйЛист");
ОбластьШапки = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
ОбластьШапки.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=DT" );
ОбластьШапки.Параметры.ПодразделениеПредставление = СсылкаНаОбъект.Подразделение;
ОбластьШапки.Параметры.ИзделиеПредставление = СсылкаНаОбъект.Номенклатура;
ОбластьШапки.Параметры.СпецификацияПредставление = СсылкаНаОбъект.Спецификация;
ОбластьШапки.Параметры.РаспоряжениеПредставление = СсылкаНаОбъект.Распоряжение;
ОбластьШапки.Параметры.Назначение = СсылкаНаОбъект.Назначение;
ТабличныйДокумент.Вывести(ОбластьШапки);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("СтрокаТЧ");
Для Каждого ТекущаяСтрока Из СсылкаНаОбъект.РаспоряжениеСпецификация Цикл
ОбластьСтроки.Параметры.НоменклатураПредставление = ТекущаяСтрока.Номенклатура;
ОбластьСтроки.Параметры.Норматив = ТекущаяСтрока.Количество;
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФорму()
{ВнешняяОбработка.МаршрутныйНовый.МодульОбъекта(322)}: Поле объекта не обнаружено (Номер)
ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
как такое может быть
Только не ругайтесь я еще раз повторяюсь я учусь