Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Регламентное задание завершается с ошибкой

Spl
Пост №1
Spl
читатель
офлайн
Дата регистрации: 16.08.2013
Сообщений: 2
Пост №1
 
16.08.2013 11:48

"Платформа: 8.2.17.153
Конфигурация: Бухгалтерия предприятия, редакция 1.6
Режим: Серверный

Здравствуйте!

Создала регламентное задание, которое выполняет выгрузку/загрузку с помощью Обработки УниверсальныйОбменДаннымиXML
Столкнулась с двумя такими проблемами:

1. Задание завершается с ошибкой : {Документ.СчетФактураВыданный(5895,49)}: Переменная не определена (ФормированиеПечатныхФорм)
Но вызов Общего модуля ФормированиеПечатныхФорм осуществляется в СчетФактуре в функции ПечатьСчетаФактуры(). Когда прохожу отладчиком во внешней процедуре, аналогичной Регламентному заданию, туда вообще не попадаю.

2. Поскольку задание завершается с ошибкой, остаются открытыми файлы (файл данных и лог-файл), при попытке их удалить, переименовать..., выдается собщение "...файл занят другим процессом...". Unlocker никаких процессов, которыми они используются, не показывает. Пытаюсь в Регламентном задании обойти эту ситуацию с помощью

Попытка
...
исключение
(здесь пытаюсь закрыть файлы)
КонецПопытки;

Тоже выдает ошибку.

Что-нибудь порекомендуете?"

Vovan1975
Пост №2
Vovan1975
читатель
офлайн
Дата регистрации: 25.01.2010
Сообщений: 124
Пост №2
 
19.08.2013 11:05

Ошибка происходит потому что в случае выполнения регламентного задания выгрузка происходит полностью на сервере. В случае когда Вы смотрите отладчиком, модуль исполняется на клиенте. Это разные контексты, то есть не все процедуры и переменные будут доступны.
При выгрузке происходит компиляция модуля объекта на сервере и соответственно происходит ошибка, поскольку общий модуль где расположена процедура ФормированиеПечатныхФорм() компилируется только на клиенте и соответственно при регламентной выгрузке система его не находит и сообщает об ошибке.

Данная ошибка преодолевается путем использования директив компиляции. При помощи этих директив программа определяется когда помпилировать ту или иную процедуру.
То есть выглядит это так

#Если НаКлиенте тогда
Процедура
....
конецпроцедуры
#Конецесли



этими директивами можно и отдельные куски кода внутри процедуры ограничивать
напрмиер
продедура
контектнонезависимый код
#Если НаКлиенте тогда
контекстнозасимый код - например Предупреждение()
#конецесли
другой контекстно независимый код
конецпроцедуры




Посмотрите модули типовой конфы - там эти директивы обязательно встречаются - ничего сложного

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги
© ООО "1C" 2000-2018 г.