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