День добрый.
"Программирую" раз в год и то по крайне необходимости, так что сильно не пинайте.
Есть готовая обработка по рассылке счетов, появилась срочная необходимость прикрутить рассылку УПД.
Взял готовую внеш. печ. форму(ВНП) и интегрировал в базу.
Далее из своей обработки рассылки счетов, пробую её вызвать, а затем сохранить в эксель.
При сохранении выходит ошибка: Метод объекта не обнаружен (Записать)
ТабУПД.Записать(ИмяФайлаУПД,"XLS");
Я так полагаю, что изначально ошибка в функции печатьУПД().
Функция ПечатьУПД(Док)
ПечатьУПДоб=Обработки.УПД.Создать();
ПечатьУПДоб.ПолучитьФорму("Форма");
ПечатьУПДоб.СсылкаНаОбъект=Док.ссылка;
ПечатьУПДоб.Печать();
КонецФункции
Процедура КнопкаСформироватьНажатие(Кнопка)
ЭлементыФормы.Индикатор.ЦветРамки = ЦветаСтиля.ЦветРамки;
Если Не ЗначениеЗаполнено(Каталог) Тогда
Предупреждение("Не выбран каталог для сохранения выходных файлов!");
Возврат;
КонецЕсли;
ЭлементыФормы.Индикатор.МаксимальноеЗначение =ТаблицаСчета.Количество();
Для Каждого ТекСтрока Из ТаблицаСчета Цикл
//Счет
ТабСчет=ПечатьСчетаЗаказа(ТекСтрока.ДокументСчет);
ИмяФайла=Каталог+"\Счет"+ТекСтрока.ДокументСчет.Номер+".xls";
ТабСчет.Записать(ИмяФайла,"XLS");
ТекСтрока.Флажок=1;
ЭлементыФормы.Индикатор.Значение = ТаблицаСчета.Индекс(ТекСтрока)+1;
///УПД
ТабУПД=ПечатьУПДд(ТекСтрока.ДокументРеализация);
ИмяФайлаУПД=Каталог+"\УПД"+ТекСтрока.ДокументРеализация.Номер+".xls";
ТабУПД.Записать(ИмяФайлаУПД,"XLS");
КонецЦикла;
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Разослать.Доступность=Истина;
КонецПроцедуры
"Программирую" раз в год и то по крайне необходимости, так что сильно не пинайте.
Есть готовая обработка по рассылке счетов, появилась срочная необходимость прикрутить рассылку УПД.
Взял готовую внеш. печ. форму(ВНП) и интегрировал в базу.
Далее из своей обработки рассылки счетов, пробую её вызвать, а затем сохранить в эксель.
При сохранении выходит ошибка: Метод объекта не обнаружен (Записать)
ТабУПД.Записать(ИмяФайлаУПД,"XLS");
Я так полагаю, что изначально ошибка в функции печатьУПД().
Функция ПечатьУПД(Док)
ПечатьУПДоб=Обработки.УПД.Создать();
ПечатьУПДоб.ПолучитьФорму("Форма");
ПечатьУПДоб.СсылкаНаОбъект=Док.ссылка;
ПечатьУПДоб.Печать();
КонецФункции
Процедура КнопкаСформироватьНажатие(Кнопка)
ЭлементыФормы.Индикатор.ЦветРамки = ЦветаСтиля.ЦветРамки;
Если Не ЗначениеЗаполнено(Каталог) Тогда
Предупреждение("Не выбран каталог для сохранения выходных файлов!");
Возврат;
КонецЕсли;
ЭлементыФормы.Индикатор.МаксимальноеЗначение =ТаблицаСчета.Количество();
Для Каждого ТекСтрока Из ТаблицаСчета Цикл
//Счет
ТабСчет=ПечатьСчетаЗаказа(ТекСтрока.ДокументСчет);
ИмяФайла=Каталог+"\Счет"+ТекСтрока.ДокументСчет.Номер+".xls";
ТабСчет.Записать(ИмяФайла,"XLS");
ТекСтрока.Флажок=1;
ЭлементыФормы.Индикатор.Значение = ТаблицаСчета.Индекс(ТекСтрока)+1;
///УПД
ТабУПД=ПечатьУПДд(ТекСтрока.ДокументРеализация);
ИмяФайлаУПД=Каталог+"\УПД"+ТекСтрока.ДокументРеализация.Номер+".xls";
ТабУПД.Записать(ИмяФайлаУПД,"XLS");
КонецЦикла;
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Разослать.Доступность=Истина;
КонецПроцедуры
По теме из базы знаний
- Шаблон внешней печатной формы - управляемое приложение
- Программное формирование существующих печатных форм
- Конвертируем печатную форму pdf в картинку (jpg, gif, png и прочие) на сервере
- Печатная форма pdf для отправки в Диадок
- Методика разработки внешних печатных форм с возможностью отладки интерактивных команд печати
Найденные решения
(3)
Что его перехватывать, его нужно использовать:
Как мне его перехватить?
Что его перехватывать, его нужно использовать:
Функция ПечатьУПД(Док)
ПечатьУПДоб=Обработки.УПД.Создать();
ПечатьУПДоб.ПолучитьФорму("Форма");
ПечатьУПДоб.СсылкаНаОбъект=Док.ссылка;
Возврат ПечатьУПДоб.Печать();
КонецФункции
///УПД
ТабУПД=ПечатьУПДд(ТекСтрока.ДокументРеализация);
ИмяФайлаУПД=Каталог+"\УПД"+ТекСтрока.ДокументРеализация.Номер+".xls";
ТабУПД.Записать(ИмяФайлаУПД, , ТипФайлаТабличногоДокумента.XLSX);
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Я понимаю, что нужно возврат сделать.
ПечатьУПДоб.Печать(); этой строкой я обращаюсь в экспортную функцию другой обработки, где уже есть возврат. Как мне его перехватить?
Функция Печать() Экспорт
ТабДокумент = ПечатьУПД();
Возврат ТабДокумент;
КонецФункции
ПечатьУПДоб.Печать(); этой строкой я обращаюсь в экспортную функцию другой обработки, где уже есть возврат. Как мне его перехватить?
Функция Печать() Экспорт
ТабДокумент = ПечатьУПД();
Возврат ТабДокумент;
КонецФункции
(3)
Что его перехватывать, его нужно использовать:
Как мне его перехватить?
Что его перехватывать, его нужно использовать:
Функция ПечатьУПД(Док)
ПечатьУПДоб=Обработки.УПД.Создать();
ПечатьУПДоб.ПолучитьФорму("Форма");
ПечатьУПДоб.СсылкаНаОбъект=Док.ссылка;
Возврат ПечатьУПДоб.Печать();
КонецФункции
///УПД
ТабУПД=ПечатьУПДд(ТекСтрока.ДокументРеализация);
ИмяФайлаУПД=Каталог+"\УПД"+ТекСтрока.ДокументРеализация.Номер+".xls";
ТабУПД.Записать(ИмяФайлаУПД, , ТипФайлаТабличногоДокумента.XLSX);
Показать
(5)
http://infostart.ru/public/83627/
ТабДок.Автомасштаб=истина; //аналогично настройкам масштаба «по ширине страницы»
по ширине листа
ТабДок.Автомасштаб=истина; //аналогично настройкам масштаба «по ширине страницы»
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот