Имя: Пароль:
1C
1С v8
8.2 УФ проверка при проведении документа
, ,
0 Dolphinbet
 
25.07.16
10:25
При проведении документа есть вагон и маленькая тележка всяческих обработчиков событий. Но сходу не придумал как реализовать простую проверку при интерактивном проведении документа, если требуется обращение к некой серверной функции и вывод вопроса пользователю в зависимости от возвращаемого этой функцией результата? Вроде бы вопрос надо выводить в процедуре ПередЗаписью() модуля формы, однако в СП написано, что в "В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере". Куда засунуть вызов серверной функции и вопрос в этом случае?)
1 Nuobu
 
25.07.16
10:26
(0) Сделать свою кнопку.
2 Dolphinbet
 
25.07.16
10:28
(1) о таком варианте я тоже подумал, просто показалось странным что при наличии такого огромного кол-ва обработчиков событий нельзя штатно реализовать столь простой алгоритм??
3 Nuobu
 
25.07.16
10:29
(2) По новым правилам - нельзя.
4 Dolphinbet
 
25.07.16
10:31
то есть из-за этой ерунды мне придется переопределять стандартную кнопку Провести?((
5 Nuobu
 
25.07.16
10:32
(4) Да.
6 Dolphinbet
 
25.07.16
10:32
не хотелось бы...
7 Nuobu
 
25.07.16
10:34
(6) Тогда поставь совместимость с какой-то платформой, где это правило из СП еще не действует.
8 ffess
 
25.07.16
15:10
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи=РежимЗаписиДокумента.Проведение Тогда
        ПередЗаписьюНаСервере(ПараметрыЗаписи);
        //тут колбасишь ответ серверной процедуры, который может быть запихан в структуру "ПараметрыЗаписи"
        //например, задаешь свой вопрос
    КонецЕсли;
КонецПроцедуры
9 ffess
 
25.07.16
15:17
С отключенным режимом совместимости на 8.3.6 отработало и так

&НаСервере
Процедура ПередЗаписьюНаСервере(ПараметрыЗаписи)
....

и так

&НаСервереБезКонтекста
Процедура ПередЗаписьюНаСервере(ПараметрыЗаписи)

так что почему в СП написано нельзя - непонятно, по факту работает
10 Dolphinbet
 
25.07.16
16:09
да, работает)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс