Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сохранение печатной формы регламентным заданием
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Inkognito
Бухгалтерия для Украины 1.2, обычные формы.
Задача: сохранять печатную форму счета по расписанию на диск.
Проблема: ручная выгрузка документов проходит корректно, но когда создали регламентное задание - появляется ошибка Метод объекта не обнаружен (ПечатьСчетаЗаказа), хотя функция сделана экспортной (в типовой конфигурации она такой не является).
Документ = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); 
....
Документ.Записать();
            
ДокОб = Документ.Ссылка.ПолучитьОбъект();     
//1) Запуск обработки вручную - ОК  
//2) Запуск регламентным заданием - ошибка, см.выше "Метод объекта не обнаружен  (ПечатьСчетаЗаказа)"
ТабДок= ДокОб.ПечатьСчетаЗаказа("Счет");
//
ИмяФайла = "Рахунок №" + Строка(Номер) + " від " + Формат(Дата, "ДФ=dd-MM-yyyy");
ТабДок.Записать("C:\Rah\" + ИмяФайла + Строка(".PDF"), ТипФайлаТабличногоДокумента.PDF);
Vofka
Эта функция скорее всего находится внутри директивы #Если Клиент
Inkognito
Vofka
Точно, так и есть, - в самой конфигурации

// ЭКСПОРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА

#Если Клиент Тогда

// Функция формирует табличный документ с печатной формой заказа или счета,
// разработанного методистами
//
// Возвращаемое значение:
//  Табличный документ - сформированная печатная форма
//
Функция ПечатьСчетаЗаказа(Тип)

Перенес функцию выше определения #Если Клиент , но это не помогло.
Bernet
Inkognito @ Сегодня, 11:50 необходимо зарегистрироваться для просмотра ссылки ,
на последнем примере не видно что процедура экспортная - она точно экспортная?
Inkognito
Bernet
Да, экспортная. И не в "Клиенте". Актуально.
необходимо зарегистрироваться для просмотра ссылки


Vofka
После того, как процедура была перенесена из конструкции Если Клиент, ошибка немного изменилась (стала "Ошибка инициализации модуля"):
необходимо зарегистрироваться для просмотра ссылки
pablo
Теперь штудируйте код функции, т.к. в нем могут вызываться функции, доступные только на клиенте.
Inkognito
pablo
1) Общий модуль "ФормированиеПечатныхФорм" --- добавил флажки "Сервер" и "Внешнее соединение"
2) Общий модуль "ОбщегоНазначения", функция "ПолучитьНомерНаПечать", изменено:
//ПечатьПрефиксовРИБ = ОбщегоНазначения.ПолучитьЗначениеПеременной("ПечатьПрефиксаРИБ") И ПечатьПрефиксовРИБ;
ПечатьПрефиксовРИБ = Ложь;
//--------
Всем спасибо, заработало.
Inkognito
Да, еще (может кому пригодится) - в макете нужно изменить фон шапки таблицы, с малинового на серый, иначе при выгрузке в PDF все содержимое шапки становится черным.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.