Упал обмен с БП после перевода базы на SQL

1. ahuram 27.01.19 08:56 Сейчас в теме
Перевел базу с файлового варианта на SQL-ый. База сильно переписанная необновляемая торговля 10.3 с обменом по правилам с БП3.
После перевода обмен с БП стал падать с ошибками:

{Документ.РеализацияТоваровУслуг(5894,14)}: Переменная не определена (РаботаСТорговымОборудованием)
СписокФУ = <<?>>РаботаСТорговымОборудованием.ПолучитьСписокУстройствТОДляВыбора(МассивФУ);
{Документ.РеализацияТоваровУслуг(7157,6)}: Процедура или функция с указанным именем не определена (Предупреждение)
<<?>>Предупреждение("Сумма документа не равна сумме нала и безнала!");
...

Опытным путем нашел решение на тестовой базе: поставил директиву &НаКлиенте перед несколькими процедурами модуля реализации.

Обмен заработал, но остался вопрос - почему так получилось и как ещё можно было решить проблему. Кто-нибудь сталкивался с аналогичным?
По теме из базы знаний
Найденные решения
6. ganjaman 27.01.19 15:03 Сейчас в теме
(5) там просто проверка модуля происходит, процедуры/функции могут и не участвовать в обмене, но предупреждение() и сообщить() в серверных процедурах быть не должно. да и модуль РаботаСТорговымОборудованием это клиентский модуль, а ПровестиИРаспечататьЧек - серверная процедура

сталкивался с таким, когда бит_отель переносил на скл, но там отдельная история, что школьники за шлак понаписали
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. kumi2012 112 27.01.19 11:06 Сейчас в теме
После перевода часть процедур и обработок стала работать в режиме клиент- сервер. То, что описано выше - попытка выполнения кода на сервере.
3. ahuram 27.01.19 14:18 Сейчас в теме
(2) Ну это, как я понимаю, недоработка платформы? Конфигурация то на неуправляемых формах. Аналогичный перевод УПП, правда свежей конфигурации, таких проблем не вызвал.

Может из-за древности конфигурации эти дела ещё хорошо не отработаны? Попробовать добавить что-нибудь типа
#Если ТолстыйКлиентОбычноеПриложение Тогда
в модуль ? Попробую сравнить с более новой конфигурацией
4. kumi2012 112 27.01.19 14:22 Сейчас в теме
(3) Если обработки запускаются как задания на сервере, то необходимо просматривать код на наличие директив.
5. ahuram 27.01.19 14:48 Сейчас в теме
Отрабатывал то я выгрузку ручным запуском, но работать в дальнейшем будет как задание. Т.е. то, что я поставил директивы &НаКлиенте, это неправильно? Потому что с сервера нельзя вызывать клиентские процедуры.

Но я вообще не понял, зачем он при выгрузке начал вызывать код из процедуры ПровестиИРаспечататьЧек. В файловой версии этого за ним не наблюдалось.
6. ganjaman 27.01.19 15:03 Сейчас в теме
(5) там просто проверка модуля происходит, процедуры/функции могут и не участвовать в обмене, но предупреждение() и сообщить() в серверных процедурах быть не должно. да и модуль РаботаСТорговымОборудованием это клиентский модуль, а ПровестиИРаспечататьЧек - серверная процедура

сталкивался с таким, когда бит_отель переносил на скл, но там отдельная история, что школьники за шлак понаписали
7. ahuram 29.01.19 05:59 Сейчас в теме
Сбило то, что ошибки появляются при выгрузке, при обычной работе нет.

Более вдумчиво расставил директивы, предупреждения из серверных процедур убрал. Все заработало, спасибо за участие.

Код писался в то время, когда об управляемых формах не слышали. Поэтому и не обращали внимание на такие нюансы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот