|   |   | 
| 
 | Блокировка документа после его объединения с другим | ☑ | ||
|---|---|---|---|---|
| 0
    
        AnBlast 28.12.23✎ 18:15 | 
        Есть два документа... с моем случае счета.
 В какой-то момент оператор решает, что их надо объединить в один. Выбирает первый - в который, потом второй - из которого перелить ТЧ, нажимает кнопку объединить. Все объединяется, но полученный документ ставится на блокировку - зайти в него нельзя до перезапуска программы у этого оператора (т.е. блокировка вызвана именно объединением). Документ нигде не светится открытым При попытке программно открыть документ сразу после объедиения и записи - та же ошибка блокировки. Пробовал играться с РазблокироватьДанныеДляРедактирования - не получается. Просто программно открыть - тоже, естественно, не получается. Не то, что б это была очень большая проблема, но задалбывает операторов. Подскажите какой-нить путь обхода этого дела... УФ. РМК. | |||
| 1
    
        Мимохожий Однако 28.12.23✎ 19:23 | 
        Без кода обсуждать бессмысленно     | |||
| 2
    
        AnBlast 29.12.23✎ 10:52 | 
        (1) та там 350 строк кода в объединении...
 но суть простая - объединение табличных частей (их там несколько и они связаны)... потом один док снимается с проведения, а второй проводится/сохраняется. И вот как раз второй блокируется. Все в одной транзакции. код собственно сохранения документа нового вот: Док1.СуммаДокумента = Док1.Товары.Итог("Сумма"); Док1.Комментарий = Док1.Комментарий+" /Объединение/ "+СокрЛП(Ком); Док1.Записать(?(Док1.Проведен ИЛИ Док2.Проведен,РежимЗаписиДокумента.Проведение,РежимЗаписиДокумента.Запись)); | |||
| 3
    
        MaximSh 29.12.23✎ 12:37 | 
        (2) 
 Если Док1.Заблокирован() Тогда Док.1.Разблокировать(); КонецЕсли; | |||
| 4
    
        AnBlast 29.12.23✎ 15:37 | 
        (3) а нифига )) 
 я так тоже пробовал... Док1.Заблокирован() у меня после объединения = Ложь Но форму открыть не дает. Ни программно, ни интерактивно до перезапуска сеанса | |||
| 5
    
        vicof 29.12.23✎ 15:50 | 
        (2) Суть-то может и простая, а код кривой)     | |||
| 6
    
        AnBlast 29.12.23✎ 16:47 | 
        (5) ну я б не стал читать 350 строк кода ))
 но побороть получилось добавил РазблокироватьДанныеДляРедактирования Док1.СуммаДокумента = Док1.Товары.Итог("Сумма"); Док1.Комментарий = Док1.Комментарий+" /Объединение/ "+СокрЛП(Ком); Док1.Записать(?(Док1.Проведен ИЛИ Док2.Проведен,РежимЗаписиДокумента.Проведение,РежимЗаписиДокумента.Запись)); РазблокироватьДанныеДляРедактирования(, ЭтаФорма.УникальныйИдентификатор) Но теперь вопрос - я не указываю первый параметр и значит что будут разблокированы все объекты связанные с этой формой? есть шанс накосячить? Это форма выбора чека в РМК общепит с тучей официантов которые не видят чеки друг друга, но администраторы видят... т.е. теоритически может быть открыт из этой формы другой чек и я его тоже разблокирую (собственно все, что связанно с формой разблокирую) и админ что-то направит параллельно с автором чека... или нет? | |||
| 7
    
        Bigbro 30.12.23✎ 08:44 | 
        "ну я б не стал читать 350 строк кода"
 лентяй. | |||
| 8
    
        Мимохожий Однако 30.12.23✎ 08:50 | 
        Я бы вообще не заморачивался с объединением документов. Логичнее сделать единую печать с нескольких чеков. При этом и подробная информация не потеряется и не надо заниматься танцами с бубнами. 
 Как говорится:"Другой взгляд на задачу". | |||
| 9
    
        AnBlast 03.01.24✎ 17:11 | 
        (7) есть такое )) 
 (8) не... оно как бы вариант, но все уже привыкли так. Н вопрос все равно актуален: я не указываю первый параметр и значит что будут разблокированы все объекты связанные с этой формой? Так? есть шанс накосячить? Уже день гоняю тесты этого дела... но уверенности на 100% нет, что кто-то добавит что-то в чек, я его разблокирую, а потом кто-то опять что-то другой еще что-то добавит. И будет беда | |||
| 10
    
        Мимохожий Однако 03.01.24✎ 22:19 | 
        (9) Если дань привычкам, то накосячишь 100%     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |