Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

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

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

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

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

"Платформа: 8.2.17.153<br>Конфигурация: Бухгалтерия предприятия, редакция 1.6 <br>Режим: Серверный<br> <br>Здравствуйте!<br> <br>Создала регламентное задание, которое выполняет выгрузку/загрузку с помощью Обработки УниверсальныйОбменДаннымиXML<br>Столкнулась с двумя такими проблемами:<br> <br>1. Задание завершается с ошибкой : {Документ.СчетФактураВыданный(5895,49)}: Переменная не определена (ФормированиеПечатныхФорм)<br>Но вызов Общего модуля ФормированиеПечатныхФорм осуществляется в СчетФактуре в функции ПечатьСчетаФактуры(). Когда прохожу отладчиком во внешней процедуре, аналогичной Регламентному заданию, туда вообще не попадаю.<br> <br>2. Поскольку задание завершается с ошибкой, остаются открытыми файлы (файл данных и лог-файл), при попытке их удалить, переименовать..., выдается собщение "...файл занят другим процессом...". Unlocker никаких процессов, которыми они используются, не показывает. Пытаюсь в Регламентном задании обойти эту ситуацию с помощью<br> <br>Попытка <br>...<br>исключение<br>(здесь пытаюсь закрыть файлы) <br>КонецПопытки;<br> <br>Тоже выдает ошибку.<br> <br>Что-нибудь порекомендуете?"

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

Ошибка происходит потому что в случае выполнения регламентного задания выгрузка происходит полностью на сервере. В случае когда Вы смотрите отладчиком, модуль исполняется на клиенте. Это разные контексты, то есть не все процедуры и переменные будут доступны.<br>При выгрузке происходит компиляция модуля объекта на сервере и соответственно происходит ошибка, поскольку общий модуль где расположена процедура ФормированиеПечатныхФорм() компилируется только на клиенте и соответственно при регламентной выгрузке система его не находит и сообщает об ошибке.<br> <br>Данная ошибка преодолевается путем использования директив компиляции. При помощи этих директив программа определяется когда помпилировать ту или иную процедуру.<br>То есть выглядит это так<br><pre>#Если НаКлиенте тогда<br> Процедура<br> ....<br> конецпроцедуры<br>#Конецесли </pre><br><br> <br>этими директивами можно и отдельные куски кода внутри процедуры ограничивать<br>напрмиер<br><pre>продедура<br> контектнонезависимый код<br> #Если НаКлиенте тогда<br> контекстнозасимый код - например Предупреждение()<br> #конецесли<br> другой контекстно независимый код<br>конецпроцедуры </pre><br><br> <br> <br>Посмотрите модули типовой конфы - там эти директивы обязательно встречаются - ничего сложного

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

Читают тему:

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