1С:Предприятие 8.3 (8.3.6.2237) 1С:ERP Управление предприятием 2.0 (2.0.9.66)
Ситуация такая что мне нужно что бы печаталось не один документ а несколько выделенных документов а именно маршрутный листов, кто что скажет, подскажет?
Для Каждого ОбъектПечати Из МассивОбъектов Цикл УправлениеПечатью. ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МаршрутныйНовый", "Маршрутный новый", СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати)); КонецЦикла;
КонецПроцедуры // Печать()
Личные бесплатные консультации не даю, для этого есть форум!
logist @ Сегодня, 11:30
, Да это правильный код я знаю, но суть такова что нужно что бы на печать выводилось несколько печатных форм по выбору, допустим выбирает нач производства 3 маршрутных листа, и их конкретно хочет распечатать, но при этом коде печатает только один маршрутный лист.
Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции
Для Каждого ОбъектПечати Из МассивОбъектов Цикл УправлениеПечатью. ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МаршрутныйНовый", "Маршрутный новый", СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати)); КонецЦикла;
КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент; МакетОбработки = ПолучитьМакет("МакетМаршрутныйЛист");
XacTLa @ 18.09.17, 9:28
, Я так и не могу разобраться что мне дописать, в коллекцию печать не выводит хоть убей, уже всю голову поломал, может где то я что то упустил.
Я сразу скажу что я не гуру в этом деле, я только начинаю, очень хочется разобраться а намека даже нет
Для Каждого ОбъектПечати Из МассивОбъектов Цикл УправлениеПечатью. ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МаршрутныйНовый", "Маршрутный новый", СформироватьПечатнуюФорму(ОбъектПечати, ОбъектыПечати)); КонецЦикла;
КонецПроцедуры // Печать()
еще раз пишу, короче суть такова что код этот работает но ровно на одну печатную форму, а что бы распечатать несколько печатных форм то не работает. Куда копать уже не знаю
Сбросьте также код которым вы заполняете МассивОбъектов. По идее в МассивОбъектов вы должны добавить перечень документов выбранных для печати. А так как у вас печатается всего один документ - можно предположить, что МассивОбъектов Вы никак не заполняете..
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Реквизиты.Ссылка, | Реквизиты.Номер, | Реквизиты.Дата, | Реквизиты.Распоряжение, | Реквизиты.Распоряжение.Номер КАК РаспоряжениеНомер, | Реквизиты.Распоряжение.Дата КАК РаспоряжениеДата, | Реквизиты.КодСтроки КАК КодСтроки, | Реквизиты.Спецификация.МногоэтапныйПроизводственныйПроцесс КАК МногоэтапныйПроизводственныйПроцесс, | Реквизиты.Спецификация КАК Спецификация, | Реквизиты.Спецификация.Представление КАК СпецификацияПредставление, | Реквизиты.Этап КАК Этап, | Реквизиты.Этап.Представление КАК ЭтапПредставление, | Реквизиты.Подразделение КАК Подразделение, | Реквизиты.Подразделение.Представление КАК ПодразделениеПредставление, | Реквизиты.Подразделение.Код КАК КодПодразделения, | Реквизиты.Номенклатура КАК Номенклатура, | Реквизиты.Номенклатура.Представление КАК НоменклатураПредставление, | Реквизиты.Характеристика КАК Характеристика, | Реквизиты.Характеристика.Представление КАК ХарактеристикаПредставление, | Реквизиты.МаршрутнаяКарта КАК МаршрутнаяКарта, | Реквизиты.МаршрутнаяКарта.Представление КАК МаршрутнаяКартаПредставление, | Реквизиты.УправлениеМаршрутнымиЛистами КАК УправлениеМаршрутнымиЛистами, | Реквизиты.Начало, | Реквизиты.Окончание, | Реквизиты.Запланировано, | Реквизиты.Произведено, | Реквизиты.Брак |ИЗ | Документ.МаршрутныйЛистПроизводства КАК Реквизиты |ГДЕ | Реквизиты.Ссылка В(&МассивДокументов) | |УПОРЯДОЧИТЬ ПО | Реквизиты.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаВыходныеИзделия.Ссылка КАК Ссылка, | ТаблицаВыходныеИзделия.НомерСтроки, | ТаблицаВыходныеИзделия.Номенклатура, | ТаблицаВыходныеИзделия.Номенклатура.Код КАК НоменклатураКод, | ТаблицаВыходныеИзделия.Номенклатура.Артикул КАК НоменклатураАртикул, | ТаблицаВыходныеИзделия.Номенклатура КАК Номенклатура, | ТаблицаВыходныеИзделия.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление, | ТаблицаВыходныеИзделия.Характеристика.Представление КАК ХарактеристикаПредставление, | ВЫБОР | КОГДА ТаблицаВыходныеИзделия.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаВыходныеИзделия.Упаковка.ЕдиницаИзмерения) | ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаВыходныеИзделия.Номенклатура.ЕдиницаИзмерения) | КОНЕЦ КАК ЕдиницаИзмеренияНаименование, | ТаблицаВыходныеИзделия.КоличествоУпаковок КАК Норматив, | ВЫБОР | КОГДА ТаблицаВыходныеИзделия.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен)) | ТОГДА ТаблицаВыходныеИзделия.КоличествоУпаковокФакт | ИНАЧЕ 0 | КОНЕЦ КАК Факт, | ВЫБОР | КОГДА ТаблицаВыходныеИзделия.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен)) | ТОГДА ТаблицаВыходныеИзделия.КоличествоУпаковокОтклонение | ИНАЧЕ 0 | КОНЕЦ КАК Отклонение, | ЕСТЬNULL(ТаблицаОперации.НомерОперации, """") КАК НомерОперации, | ЕСТЬNULL(ТаблицаОперации.Операция, НЕОПРЕДЕЛЕНО) КАК Операция |ИЗ | Документ.МаршрутныйЛистПроизводства.ВыходныеИзделия КАК ТаблицаВыходныеИзделия | ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации | ПО (ТаблицаОперации.Ссылка = ТаблицаВыходныеИзделия.Ссылка) | И (ТаблицаОперации.КлючСвязи = ТаблицаВыходныеИзделия.КлючСвязиОперации) |ГДЕ | ТаблицаВыходныеИзделия.Ссылка В(&МассивДокументов) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаМатериалыИУслуги.Ссылка КАК Ссылка, | ТаблицаМатериалыИУслуги.НомерСтроки, | ТаблицаМатериалыИУслуги.Номенклатура, | ТаблицаМатериалыИУслуги.Номенклатура.Код КАК НоменклатураКод, | ТаблицаМатериалыИУслуги.Номенклатура.Артикул КАК НоменклатураАртикул, | ТаблицаМатериалыИУслуги.Номенклатура КАК Номенклатура, | ТаблицаМатериалыИУслуги.Номенклатура.НаименованиеПолное КАК НоменклатураПредставление, | ТаблицаМатериалыИУслуги.Характеристика.Наименование КАК ХарактеристикаПредставление, | ВЫБОР | КОГДА ТаблицаМатериалыИУслуги.Упаковка <> ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаМатериалыИУслуги.Упаковка.ЕдиницаИзмерения) | ИНАЧЕ ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаМатериалыИУслуги.Номенклатура.ЕдиницаИзмерения) | КОНЕЦ КАК ЕдиницаИзмеренияНаименование, | ТаблицаМатериалыИУслуги.КоличествоУпаковок КАК Норматив, | ВЫБОР | КОГДА ТаблицаМатериалыИУслуги.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен)) | ТОГДА ТаблицаМатериалыИУслуги.КоличествоУпаковокФакт | ИНАЧЕ 0 | КОНЕЦ КАК Факт, | ВЫБОР | КОГДА ТаблицаМатериалыИУслуги.Ссылка.Статус В (ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.КВыполнению), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполняется), | ЗНАЧЕНИЕ(Перечисление.СтатусыМаршрутныхЛистовПроизводства.Выполнен)) | ТОГДА ТаблицаМатериалыИУслуги.КоличествоУпаковокОтклонение | ИНАЧЕ 0 | КОНЕЦ КАК Отклонение, | ЕСТЬNULL(ТаблицаОперации.НомерОперации, """") КАК НомерОперации, | ЕСТЬNULL(ТаблицаОперации.Операция, НЕОПРЕДЕЛЕНО) КАК Операция |ИЗ | Документ.МаршрутныйЛистПроизводства.МатериалыИУслуги КАК ТаблицаМатериалыИУслуги | ЛЕВОЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации | ПО (ТаблицаОперации.Ссылка = ТаблицаМатериалыИУслуги.Ссылка) | И (ТаблицаОперации.КлючСвязи = ТаблицаМатериалыИУслуги.КлючСвязиОперации) |ГДЕ | ТаблицаМатериалыИУслуги.Ссылка В(&МассивДокументов) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТаблицаОперации.Ссылка КАК Ссылка, | ТаблицаОперации.Операция КАК Операция, | ПРЕДСТАВЛЕНИЕССЫЛКИ(ТаблицаОперации.Операция) КАК ОперацияПредставление, | ТаблицаОперации.НомерОперации КАК НомерОперации, | ТаблицаОперации.ВремяВыполнения КАК ВремяВыполнения, | ТаблицаОперации.ВремяВыполненияЕдИзм КАК ВремяВыполненияЕдИзм, | ТаблицаОперации.ПодготовительноеВремя КАК ПодготовительноеВремя, | ТаблицаОперации.ПодготовительноеВремяЕдИзм КАК ПодготовительноеВремяЕдИзм, | ТаблицаОперации.ЗаключительноеВремя КАК ЗаключительноеВремя, | ТаблицаОперации.ЗаключительноеВремяЕдИзм КАК ЗаключительноеВремяЕдИзм |ИЗ | Документ.МаршрутныйЛистПроизводства.Операции КАК ТаблицаОперации |ГДЕ | ТаблицаОперации.Ссылка В(&МассивДокументов)";
{ВнешняяОбработка.МаршрутныйНовый.МодульОбъекта(322)}: Поле объекта не обнаружено (Номер) ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
И естественно, что когда доходит дело до заполнения параметров печатной формы ОбластьШапки.Параметры.НомерДокумента = СсылкаНаОбъект.Номер получается ошибка.
Поэтому Вас и попросили сообщить что в МассивОбъектов находится. Не поленитесь - воспользуйтесь отладкой. Или выложите код где явно видно чем заполняется этот массив
если не понятно как он вызывается. Нужно смотреть отладчик, что в массиве
кажется мне что нет смысла ни смотреть код ни отладчиком массив - так как нету кода.... фишку с передачей массива в параметр печати придумали вы. А вот сам код формирования массива ему никто не написал)))
Запрос = новый запрос; Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов); Запрос.Текст = "ВЫБРАТЬ | МаршрутныйЛистПроизводства.Номер, | МаршрутныйЛистПроизводства.Дата, | МаршрутныйЛистПроизводства.Распоряжение, | МаршрутныйЛистПроизводства.Распоряжение.Номер КАК РаспоряжениеНомер, | МаршрутныйЛистПроизводства.Распоряжение.Дата КАК РаспоряжениеДата, | МаршрутныйЛистПроизводства.КодСтроки КАК КодСтроки, | МаршрутныйЛистПроизводства.Спецификация КАК Спецификация, | МаршрутныйЛистПроизводства.Спецификация.Представление КАК СпецификацияПредставление, | МаршрутныйЛистПроизводства.Подразделение КАК Подразделение, | МаршрутныйЛистПроизводства.Назначение КАК Назначение |ИЗ | Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства |ГДЕ | МаршрутныйЛистПроизводства.Ссылка В(&МассивОбъектов) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | МаршрутныйЛистПроизводства.Номер, | МаршрутныйЛистПроизводства.Дата, | МаршрутныйЛистПроизводства.Распоряжение, | МаршрутныйЛистПроизводства.Распоряжение.Номер КАК РаспоряжениеНомер, | МаршрутныйЛистПроизводства.Распоряжение.Дата КАК РаспоряжениеДата, | МаршрутныйЛистПроизводства.КодСтроки КАК КодСтроки, | МаршрутныйЛистПроизводства.Спецификация КАК Спецификация, | МаршрутныйЛистПроизводства.Спецификация.Представление КАК СпецификацияПредставление, | МаршрутныйЛистПроизводства.Подразделение КАК Подразделение, | МаршрутныйЛистПроизводства.Назначение КАК Назначение |ИЗ | Документ.МаршрутныйЛистПроизводства КАК МаршрутныйЛистПроизводства |ГДЕ | МаршрутныйЛистПроизводства.Ссылка В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | Ссылка";
{ВнешняяОбработка.МаршрутныйНовый.МодульОбъекта(100)}: Ошибка при вызове метода контекста (Выполнить) ОбщаяВыборка = Запрос.Выполнить().Выгрузить(); по причине: {(36, 2)}: В случае использования операторов ОБЪЕДИНИТЬ, поля предложений УПОРЯДОЧИТЬ ПО и ИТОГИ ПО должны находиться в списке выбора. <<?>>Ссылка
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!