Вход | Регистрация
 

УТ 11 ПередЗаписью() в форме вызывается 2 раза

УТ 11 ПередЗаписью() в форме вызывается 2 раза
Я
   mastodont
 
09.02.21 - 11:27
Надо перед записью заказа задать вопрос пользователю.
По идее событие формы ПередЗаписью() подошло бы. Но проблема в том, что оно вызывается два раза. И соответсвенно пользователь видит вопрос два раза.
Есть ли какой-то правильный способ? Что бы не изобретать костыли?
   H A D G E H O G s
 
1 - 09.02.21 - 11:29
(0) Посмотреть стек вызовов и понять, где растут кривые руки.
   mastodont
 
2 - 09.02.21 - 11:38
Да не, это я уже сделал и нашел реквизит НеВыполнятьПроверкуПередЗаписью...
Но чет я не понимаю 1С порой.
   Serg_1960
 
3 - 09.02.21 - 11:41
"Перед записью" вызывается в модуле формы (клиент), потом в модуле формы (сервер), после этого в модуле объекта (сервер)... а Вы где задаёте вопрос? :)
   mastodont
 
4 - 09.02.21 - 11:42
(3) я ж написал, что в форме...
   fisher
 
5 - 09.02.21 - 11:44
(4) Как уже советовали - смотреть стек вызовов. Возможно "лишняя" запись вызывается программно.
   mastodont
 
6 - 09.02.21 - 11:44
Тут логика в том, что раньше в 1С сначала проверяли стоит ли проводить документ, а сейчас проводят, а потом проверяют стоило ли, и если нет, то откатывают.
   mastodont
 
7 - 09.02.21 - 11:45
(5) ну так и есть. Но это типовое поведение.
   fisher
 
8 - 09.02.21 - 11:47
(7) Ну, если этот костыль не лечится, то вбивать новый костыль. А как еще? Костыли тем и опасны, что провоцируют появление новых костылей. Флаг какой-нить заведи, по которому вычленяй одну из записей.
   mastodont
 
9 - 09.02.21 - 11:48
(8) 1Сники уже такой костыль сделали) И пользуются им...
   mastodont
 
10 - 09.02.21 - 11:49
Я проблему то решил.
Просто не понимаю этих костылей в типовых конфах.
Понять то вернее могу, но не принять...
   Serg_1960
 
11 - 09.02.21 - 11:50
(6) "Тут логика в том..." - документ проводят (вопрос виден), потом откатывают... и записывают вновь (раз вопрос опять виден)? У кого логика хромает?
   fisher
 
12 - 09.02.21 - 11:51
(9) Пускай возьмут с полки пирожок. С дерьмовой начинкой.
А ты просто внимательно посмотри, почему они так сделали. Возможно, оттуда уже есть признак, по которому можно различить эти две записи.
   Serg_1960
 
13 - 09.02.21 - 11:51
"Ничего не понимаю!"(с)
   fisher
 
14 - 09.02.21 - 11:55
(6) То есть ты хочешь задавать какой-то вопрос перед записью, а если запись откатилась и пользователь что-то поправил и повторно записывает - чтобы вопрос уже не задавался? Так что ли?
   Serg_1960
 
15 - 09.02.21 - 11:58
Дай угадаю :) костыль стандартный: вставить дополнительное свойство объекта ЗадаватьВопросПередЗаписьюОбъекта (Да), а после вопроса - сбрасывать в "Нет"?
   mastodont
 
16 - 09.02.21 - 12:10
(15) костылем я называю то, вот этот кусок типовой конфигурации:
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    
    Если НеВыполнятьПроверкуПередЗаписью Тогда
        НеВыполнятьПроверкуПередЗаписью = Ложь;
        Возврат;
    КонецЕсли;
   Serg_1960
 
17 - 09.02.21 - 12:41
(16) Я не угадывал типовой костыль, а твой костыль для решение проблемы :) Если по теме: да, в типовых я даже встречал параметр ТребуетсяПовторнаяПопыткаЗаписи, когда объект повторно записывался, но с другими дополнительными параметрами.
   Cthulhu
 
18 - 09.02.21 - 15:15
тупо проводим, потом проверяем шо получается, и в зависимости от этого:
1) если получилась лажа - молча отменяем проведение ...
2) да здрявствует отказ от модальности!.. задаем вопрос - и пущай оно висит хоть до морковкиного заговенья а к вопросу прицепили указатель - что и с какими доп.параметрами (ссылка на документ - суется сюда) должно проверит ответ на этот вопрос ...
3) ой тляаа, прилетел ответ на вопрос, когда-то заданный - отловили ответ, и если вдруг ответ "не надо проводить" - то дергаем из доп.параметра - какой же ето документ не надо то шо сделано - и отменяем проведение.
тут самое прикольное, что 1с уйдя от модальности - положило с прибором на актуальность данных. пока у кого-то висит вопрос - в данных уже валяются движения этого документа. и другие документы получают информацию с учетом этих движений... которые на самом деле не должны быть в этих данных - но они есть пока юзер-тормоз не ответит на вопрос. один затормозил - все остальные сработали вроде норм - тормоз отказался от проведения - оказалось что все остальные на самом деле муйню сделали а не "вроде норм"....
"ну ид..." (с) министр лавров
   Cthulhu
 
19 - 09.02.21 - 15:16
в (18) п.2 и далее - по "иначе" (в смысле если движения вроде Ок но надо подтверждение юзверя)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.