Создание документа в регламентном задании

1. anterehin 15 26.10.16 12:32 Сейчас в теме
Доброго времени суток , коллеги.

Проблема следующего характера: В регламентном задании создаётся документ.

	
Если Переоценка = Неопределено Тогда
		Переоценка = Документы.Переоценка.СоздатьДокумент();
	Иначе


При создании процедура падает и регламент завершается с ошибкой:

Ошибка инициализации модуля: Документ.Переоценка.МодульОбъекта

Подскажите в какую сторону капать? Заранее большое спасибо.

P.S. 1С:Предприятие 8.3 (8.3.6.2152) , конфигурация самописная
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisCh 26.10.16 12:39 Сейчас в теме
В сторону модуля объекта.
Там где-то используются недопустимые на сервере функции или процедуры
Xershi; herfis; +2 Ответить
3. anterehin 15 26.10.16 12:47 Сейчас в теме
(2)Т.е. при создании объекта он проверяет доступность всех процедур? Нужно сделать все экспортными и проверить на использование методов в них не доступных на сервере?
4. herfis 500 26.10.16 13:14 Сейчас в теме
(3) Нет. Он у тебя либо просто не компилируется на сервере, либо валится именно секция инициализации, если верить сообщению об ошибке (посмотри код вне процедур, обычно в самый низ пихают). Еще можно в конфигураторе запустить синтаксическую проверку модулей, на предмет возможности работы на сервере. Есть там такая опция, если в настройках порыться. Тогда для твоего модуля он скорее всего четко скажет, что ему не нравится.
viktor_v; +1 Ответить
25. viktor_v 24.04.24 08:46 Сейчас в теме
(4)
в конфигураторе запустить синтаксическую проверку модулей, на предмет возможности работы на сервере

Спасибо мне помогло!
5. spacecraft 26.10.16 13:29 Сейчас в теме
(3) экспортных делать не надо. Это тут лишнее. Скорее всего в стандартных обработчика модуля объекта используются интерактивные вызовы. Обычно это Предупредить, Сообщить и т.д. Их убрать или обернуть в команды препроцессора компиляции.
anterehin; Xershi; +2 Ответить
6. DenisCh 26.10.16 13:34 Сейчас в теме
(5) сообщить() на сервере прекрасно отрабатывает.
7. spacecraft 26.10.16 13:41 Сейчас в теме
(6) то что Сообщить() работает на сервере, не означает, что это работает в регламентном задании. Регламентное задание запускается не с клиента и сервер не знает, куда это потом Сообщать...
8. DenisCh 26.10.16 13:42 Сейчас в теме
(7) всё прекрасно работает. Открой для себя ПолучитьСообщенияПользователю().
испытай его.
Посмотри на его реализацию в портативных инструментах разработчика.
попробуй у себя.

Потом открой коньяк и выпей за моё здоровье и мои умные советы.
11. spacecraft 26.10.16 14:06 Сейчас в теме
(8) так Сообщить() или СообщениеПользователю?

Тут УФ. ИР разработан для ОФ. Даже при запуске на УФ требует работу на ОФ (использовать обычные формы в управляемом интерфейсе).

Про коньяк тактично умолчу.
13. DenisCh 26.10.16 14:56 Сейчас в теме
(11) Сообщить() на сервере работает в любых формах.
Так что коньяк ты мне должен )
14. herfis 500 26.10.16 15:01 Сейчас в теме
(11) Справедливости для - началось с того, что "Сообщить" было упомянуто как возможная причина сбоя. На что последовало справедливое возражение. "Сообщить" не может являться причиной сбоя при исполнении на сервере, в т.ч. в фоновом задании.
15. spacecraft 26.10.16 15:41 Сейчас в теме
(14) справедливости для... Причиной было указано "Скорее всего в стандартных обработчика модуля объекта используются интерактивные вызовы."
Далее перечислены интерактивные вызовы.
Возможно именно Сообщить() ошибку и не даст, но и не место его в модуле объекта. В крайнем случае для УФ используется СообщениеПользователю, так как это уже не прямой интерактивный вызов.
Даже рекомендация от 1С имеется: Ограничение на использование метода Сообщить
16. DenisCh 26.10.16 15:59 Сейчас в теме
(15)
1. Сообщить() не является интерактивным вызовом, так как не требует реакции пользователя.
2. Сообщить() не вызовет ошибку при компиляции модуля для сервера и даже для внешнего соединения.

Это трудно понять, это нужно запомнить и с этим смириться.
А не строить теорий даже не на песке, а на Ньютоновой жидкости.
17. spacecraft 26.10.16 16:06 Сейчас в теме
(16) смотрите СП.
Прикрепленные файлы:
18. DenisCh 26.10.16 16:09 Сейчас в теме
(17)
Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

не надо придерживаться строго иерархии СП. А немного иногда думать и своей головой.

Это я говорю, как авторизованный продавец СП.
19. spacecraft 26.10.16 16:12 Сейчас в теме
(18) хорошо хоть не разработчик платформы. Никогда не думал, что продавец лучше разбирается в механизмах платформы, чем разработчики.
20. DenisCh 26.10.16 16:25 Сейчас в теме
(19) Если ты думаешь, что документацию пишут разработчики, то ты ошибаешься.
22. корум 288 26.10.16 16:30 Сейчас в теме
(19)(20) Мальчики, не ссорьтесь! (с)

(1) Закрой тему, а то эти двое тему про украину переплюнут.
21. herfis 500 26.10.16 16:28 Сейчас в теме
(15) Не "возможно", а "совершенно точно не даст". Доступность: "сервер". Да и практикой проверено.
То, что на сервере это атавизм - это уже оффтопик.
Что касается классификации - это несомненно интерактив. Но тоже "не прямой", как вы выразились.
9. Bazin 5 26.10.16 13:49 Сейчас в теме
Конфигурация -> Проверка конфигурации -> Галка "Сервер"
И смотрим ошибки по Документ.Переоценка.МодульОбъекта
simuljakr; Niacris; Valery_L; LuxVeritatis; Xershi; +5 Ответить
10. Xershi 1488 26.10.16 14:00 Сейчас в теме
Поясню почему ошибка.
У вас конфигурация на ОФ явно. Потому что на УФ вы бы и так видели эти ошибки.
Вам выдало ошибку на модуль, потому что регламентное задание выполняет инициализацию на сервере, а не на клиенте. Да-да сервер тоже есть и на ОФ! Поэтому обращайте внимание на то что пишется в справке (сервер, клиент и т.д.).

Устранить ошибки можно , как написали в (9)!
24. simuljakr 203 29.08.22 13:25 Сейчас в теме
12. anterehin 15 26.10.16 14:45 Сейчас в теме
Всем большое спасибо. Выявил методом исключения. Закоментировал весь модуль и по одной процедуре раскоментировал. Оказалось как и говорилось использовалось Предупреждение. Но зачем это делать в экспортной процедуре модуля объекта. Вставил проверку на препроцессор, заработало. Всем спасибо.
alex-l19041; +1 Ответить
23. herfis 500 26.10.16 16:31 Сейчас в теме
Оставьте свое сообщение

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