Что нужно передать во внешнюю печатную форму, помимо ТабДокумента?
Создаю внешнюю печатную форму со штрикодом, большую часть кода взял из стандартной процедуры печати, но при сохранении своей формы вылетает куча ошибок, может в процедуру нужно еще что то предать, кроме табличного документа?
Ошибки:
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(32,54)}: Переменная не определена (ИДДокументаОтгрузки)
ОбластьМакета.Рисунки.D1.Объект.Сообщение=СокрЛП(<<?>>ИДДокументаОтгрузки); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(41,58)}: Переменная не определена (ПодразделениеПоставщик)
ОбластьМакета.Параметры.ПодразделениеПоставщик = СокрЛП(<<?>>ПодразделениеПоставщик); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(45,52)}: Переменная не определена (ПодразделениеПолучатель)
ОбластьМакета.Параметры.ПредставлениеПолучателя = <<?>>ПодразделениеПолучатель; (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(52,87)}: Переменная не определена (Права)
ОбластьШапкаТаблицы.Параметры.ИмяКолонкиКодов = обПраво("РежимВыводаКодаВДокументах",<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(60,86)}: Переменная не определена (Права)
СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(99,22)}: Переменная не определена (Права)
НомерСтраницы, , <<?>>Права, мсвДопОбластиПодвала); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(110,96)}: Переменная не определена (Права)
НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьПодвал, , , НомерСтраницы,,<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(108,37)}: Переменная не определена (Товары)
ОбластьПодвал.Параметры.СуммаВсего=<<?>>Товары.Итог("СуммаВсего"); (Проверка: Толстый клиент (обычное приложение))
Функция КомпонентаПечатиШтрихКодовУстановлена() Экспорт
Попытка
БарКодПроверка=Новый COMОбъект("V8.Barcod.1");
Возврат Истина;
Исключение
Возврат Ложь;
КонецПопытки;
КонецФункции
Функция ПечатьФормыСШтрихкодомЗаказВнутр (ТабДокумент) Экспорт
// Зададим параметры макета
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСправа = 0;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Макет = ПолучитьМакет("МакетСШтрихкодом");
НомерСтраницы = 2;
НомерСтраницыПред = НомерСтраницы;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок1");
ОбластьМакета.Параметры.ТекстЗаголовка = ЭтотОбъект;
Если НЕ КомпонентаПечатиШтрихКодовУстановлена() Тогда
Сообщить("Не установлена компонента печати этикеток '1C-Barcode'!",СтатусСообщения.Важное);
Иначе
// попытаемся напечатать ШК
Попытка
ОбластьМакета.Рисунки.D1.Объект.ТипКода=10;
ОбластьМакета.Рисунки.D1.Объект.Сообщение=СокрЛП(ИДДокументаОтгрузки);
Исключение
КонецПопытки;
КонецЕсли;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.ПредставлениеПоставщика = спПолучитьПредставление(ЭтотОбъект.Организация);
ОбластьМакета.Параметры.ПодразделениеПоставщик = СокрЛП(ПодразделениеПоставщик);
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ОбластьМакета.Параметры.ПредставлениеПолучателя = ПодразделениеПолучатель;
ТабДокумент.Вывести(ОбластьМакета);
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьПодвал = Макет.ПолучитьОбласть("ПодвалЗаказа");
ОбластьШапкаТаблицы.Параметры.ИмяКолонкиКодов = обПраво("РежимВыводаКодаВДокументах",Права);
ТабДокумент.Вывести(ОбластьШапкаТаблицы);
//Получаем область строки документа
ВыборкаТабличнойЧасти = ЭтотОбъект.Товары;
Для каждого СтрокаТабличнойЧасти Из ВыборкаТабличнойЧасти Цикл
СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,Права);
ОбластьСтрока.Параметры.Заполнить(СтруктураСтроки);
ОбластьСтрока.Параметры.ДатаПоставки = СтрокаТабличнойЧасти.ДатаПоставки;
ОбластьСтрока.Параметры.Коэффициент = СтрокаТабличнойЧасти.Коэффициент;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ШтрихКоды.ШтрихКод
|ИЗ
| РегистрСведений.ШтрихКоды КАК ШтрихКоды
|ГДЕ
| ШтрихКоды.Запрет <> &Запрет
| И ШтрихКоды.Объект.Ссылка = &ТоварДок";
Запрос.УстановитьПараметр("Запрет", Истина);
Запрос.УстановитьПараметр("ТоварДок", СтрокаТабличнойЧасти.Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ОбластьСтрока.Параметры.Штрихкод = "";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьСтрока.Параметры.Штрихкод = ВыборкаДетальныеЗаписи.Штрихкод + ", " + ОбластьСтрока.Параметры.Штрихкод;
КонецЦикла;
мсвДопОбластиПодвала = Неопределено;
Если ВыборкаТабличнойЧасти.Индекс(СтрокаТабличнойЧасти) = ВыборкаТабличнойЧасти.Количество()-1 Тогда
мсвДопОбластиПодвала = Новый Массив;
мсвДопОбластиПодвала.Добавить(ОбластьПодвал);
КонецЕсли;
НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьСтрока, ОбластьШапкаТаблицы, ,
НомерСтраницы, , Права, мсвДопОбластиПодвала);
Если НомерСтраницы <> НомерСтраницыПред Тогда
НомерСтраницыПред = НомерСтраницы;
КонецЕсли;
КонецЦикла;
ОбластьПодвал.Параметры.ФИОИсполнителя = "";
ОбластьПодвал.Параметры.ФИОЗаказчика = "";
ОбластьПодвал.Параметры.СуммаВсего=Товары.Итог("СуммаВсего");
НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьПодвал, , , НомерСтраницы,,Права);
Возврат ТабДокумент;
КонецФункции
ПоказатьОшибки:
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(32,54)}: Переменная не определена (ИДДокументаОтгрузки)
ОбластьМакета.Рисунки.D1.Объект.Сообщение=СокрЛП(<<?>>ИДДокументаОтгрузки); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(41,58)}: Переменная не определена (ПодразделениеПоставщик)
ОбластьМакета.Параметры.ПодразделениеПоставщик = СокрЛП(<<?>>ПодразделениеПоставщик); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(45,52)}: Переменная не определена (ПодразделениеПолучатель)
ОбластьМакета.Параметры.ПредставлениеПолучателя = <<?>>ПодразделениеПолучатель; (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(52,87)}: Переменная не определена (Права)
ОбластьШапкаТаблицы.Параметры.ИмяКолонкиКодов = обПраво("РежимВыводаКодаВДокументах",<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(60,86)}: Переменная не определена (Права)
СтруктураСтроки = дкПолучитьПредставлениеДанныхТоварнойСтроки(СтрокаТабличнойЧасти,<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(99,22)}: Переменная не определена (Права)
НомерСтраницы, , <<?>>Права, мсвДопОбластиПодвала); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(110,96)}: Переменная не определена (Права)
НомерСтраницы = дкВывестиГоризонтальнуюОбласть(ТабДокумент, ОбластьПодвал, , , НомерСтраницы,,<<?>>Права); (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ПечФормЗаказВнутр.МодульОбъекта(108,37)}: Переменная не определена (Товары)
ОбластьПодвал.Параметры.СуммаВсего=<<?>>Товары.Итог("СуммаВсего"); (Проверка: Толстый клиент (обычное приложение))
Найденные решения
Если исходить из перечисленных ошибок, то вы пытаетесь отобразить значения ИДДокументаОтгрузки, ПодразделениеПоставщик, ПодразделениеПолучатель, Права, Товары, но "не указываете" обработке, где их брать. Если с обьекта, то так и обращайтесь к ним через точку СсылкаНаОбъект.ИДДокументаОтгрузки, СсылкаНаОбъект.ПодразделениеПоставщик и т.д.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) На стандартную процедуру совсем не похоже. Не управляемые формы - обычные?
Внешняя печатная форма.
Внешняя обработка, содержащая:
Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать.
Функция «Печать()» - без параметров, возвращающая табличный документ.
Внешняя печатная форма.
Внешняя обработка, содержащая:
Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать.
Функция «Печать()» - без параметров, возвращающая табличный документ.
Если исходить из перечисленных ошибок, то вы пытаетесь отобразить значения ИДДокументаОтгрузки, ПодразделениеПоставщик, ПодразделениеПолучатель, Права, Товары, но "не указываете" обработке, где их брать. Если с обьекта, то так и обращайтесь к ним через точку СсылкаНаОбъект.ИДДокументаОтгрузки, СсылкаНаОбъект.ПодразделениеПоставщик и т.д.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот