v8: &НаСервере и ОбработкаПроведения() #555203


#0 by Asirius
!!!! Оказывается надо в модуле документа надо ставить инструкцию препроцессора &НаСервере Процедура ОбработкаПроведения(,) .... КонеуПроцедуры А то тупая платформа иногда пытается его на клиенте проводить... и выкидывать всякие сообщения о мутабельных фигнях при передаче с клиента на сервер. Баг пойман на типовой Рознице 2.0 в режиме РМК при пробитии чека
#1 by H A D G E H O G s
#2 by Asirius
Иногда - это когда в режиме обычного приложения из формы вызывается метод документ.записать(...)
#3 by nop
1С как всегда тупит
#4 by Asirius
Ппц... теперь и при закрытии смены тоже самое... {ОбщийМодуль.ДенежныеСредстваСервер}: Ошибка при вызове метода контекста (Записать)    ДокументВыемкаДенежныхСредствИзКассыККМ.Записать(РежимЗаписиДокумента.Проведение); по причине: по причине: Ошибка при выполнении обработчика - 'ПередЗаписью' по причине: {ОбщийМодуль.ОбменДаннымиСобытия(1110)}: Ошибка при вызове метода контекста (ПолучитьЗначенияАлгоритмовКонстант)    ДокументВыемкаДенежныхСредствИзКассыККМ.Записать(РежимЗаписиДокумента.Проведение); по причине: Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПолучитьЗначенияАлгоритмовКонстант . лезем в модуль документа "ВыемкаДенежныхСредствИзКассыККМ", ставим &НаСервере перед ОбработкаПроведения и ура, все работает...
#5 by H A D G E H O G s
Аутор - хищный птиц. Посмотри теперь на перепроведенный документ
#6 by H A D G E H O G s
Либо у тебя ошипка вылезет, либо движений воопще не будет
#7 by Stepa86
Расстановка директив компиляции в модулях, отличных от модуля формы или модуля команды может привести к тому, что метод не будет виден впринципе. Вроде б давно известно, что код в модуле объекта может выполнятся как на клиенте, так и на сервере, поэтому все общие модули (в методы которых передается объект) имеют постфикс КлиентСервер и соответствующие галочки
#8 by H A D G E H O G s
Ты уверен что работает? Или, что гораздо вероятнее - в процедуру не заходит.
#9 by H A D G E H O G s
Аутор - отмени проведение документа (на всякий случай, вдруг движуху надо тереть), потом снова проведи и удивись.
#10 by Mort
Косяк платформы в том, что она наплодила кодеров, которые пишут не разбираясь в деталях и им это в 95% случаях прощается. В остальных 5% случаях порождаются подобные ветки и виновата получается, конечно, платформа.
#11 by H A D G E H O G s
Косяк платформы в том, что 8.0 и 8.1 прощали незнания написания под клиент и сервер. 8.2 в Тонком клиенте выправляет потихоньку мозги.
#12 by Wingless
Иногда пытается, ахаха.
#13 by H A D G E H O G s
Чето автор пропал. Горюет над движухой штоле?
#14 by Asirius
мда... ОбработкаПроведения просто не запускается
#15 by H A D G E H O G s
"Cколько вас таких уходило в лес..." © ЧИЖ.
#16 by Asirius
хорошо... Есть ДокументОбъект в форме обработки РМК 1с ники вызывают метод ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение) модуль проведения заточен на проведение на сервере как исправить косяк???
#17 by Asirius
Если проводить интерактивно, то ОбработкаПроведения отрабатывает как надо
#18 by H A D G E H O G s
Переточить под клиент и сервер
#19 by H A D G E H O G s
В Толстом, Обычном ? Неверю.
#20 by H A D G E H O G s
Где ошипка вылазит?
#21 by H A D G E H O G s
Аааа. Розница 2.0 поди на управляемых формах тока?
#22 by Asirius
ошибка вылазит не в модуле проведения, а при обработке события "Запись набора регистра ". Когда документ проводится интерактивно - событие обрабатывается на сервере Когда документ проводится через .Записать - событие уже обрабатывается на клиенте
#23 by Asirius
На управляемых А РМК в режиме обычного приложения. Вот там косяки на косяках и возникают
#24 by H A D G E H O G s
ППц. Ну и хренли мне мозг пудрить? Вызывай Запись из Сервера
#25 by H A D G E H O G s
Че такое РМК?
#26 by Asirius
Рабочее Место Кассира
#27 by H A D G E H O G s
Пусть РМК собирает данные, пихает их в Структуру, передает в серверный общий модуль, который запишет документ.
#28 by H A D G E H O G s
Можно даже создать документ, но вместо Записать создать структуру (пробежаться в метаданных по реквизитам документа), заполнить структуру через заполнитьзначениесвойств (с колонками - исключениями, 4 параметр), выгрузить все ТЧ в ТЗ, вставить в струтуру и отправить на сервер
#29 by Asirius
А можно просто записать докемент без проведения, а потом передать ссылку серверу, чтобы он провел этот документ?
#30 by Immortal
топикстартеру - купи себе горшок.
#31 by H A D G E H O G s
Можно и так. Но - неоптимально. Но можно.
#32 by Asirius
Спасибо за разъяснения
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С