Имя: Пароль:
1C
 
1C Регламентное задание
0 nikast
 
16.12.19
11:36
Всем привет.. С Наступающим =)

Друзья, сегодня добавить закрытие кассовых смен в регламентное задание. В общем все сделал. Начал запускать/отлаживать.
Зачем ? - Да, все просто... кассиры уходят и смены не закрывают за собой.

Задание создал, предопределенное. Код скопировал. Но есть один косяк о котором хотел спросить у вас:
При закрытии смены формируется отчет о розничных продажах, после удачного формирования которого удаляются все чеки.
Вот такой код:  

  УдалитьОбъекты(РезультатЗапросаПоЧекам.Выгрузить().ВыгрузитьКолонку("Ссылка"), Ложь);

На нем фоновое задание ложится.
А ошибка в консоли: Ошибка инициализации модуля: Документ.ЧекККМ.МодульОбъекта
Хотя если запускаю как внешнюю обработку - все норм.
Куда копать ?
1 Mankubus
 
16.12.19
11:40
(0) запусти синтаксический контроль этого модуля с флагом Сервер.
наверное там есть запрещенные конструкции типа "Вопрос"
2 nikast
 
16.12.19
11:54
(1) Принято, сейчас буду пробовать.
3 nikast
 
16.12.19
14:57
(1) Все посмотрел.. чуть-чуть изменил код.
Ошибка вот тут: ЧЕК_ККМ.ПолучитьОбъект()
Вылезает ошибка инициализации объекта
... Захожу в модуль документа чек, запускаю синтаксический контроль. А он мне говорит..
Ругаюсь вот на это...

МассивФР  = ПолучитьСерверТО().ПолучитьСписокУстройств(    Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор, КассаККМ);

ПолучитьСерверТО() - Процедура или функция не определена

Функция ПолучитьСерверТО() находится в модуле обычного приложения.. как решить ?
4 nikast
 
16.12.19
16:41
Нашел все функции, где вызывается эта функция : ПолучитьСерверТО()

И обложил директивой #Если Клиент Тогда ... #КонецЕсли

Итог:

#Если Клиент Тогда
   Function1();
   Function2();
   ...
   FunctionN();
#КонецЕсли

И инициализация объекта на стороне сервера стала выполняться без ошибок. Надеюсь кому-нибудь пригодится.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший