Имя: Пароль:
1C
 
Запись документа в процедуре "ПриЗаписиНаСервере"
0 Galaad
 
20.10.25
13:39
УФ 8.3

Есть необходимость несколько раз записать документ при записи на сервере. Как это правильно сделать?
Пояснение : Есть необходимость менять тч Запасы в заказе-основании на основе изменений в реализации. Для этого сначала распровожу реализацию, чтобы не ругалось. Вношу изменения в заказ, после этого пытаюсь внести уже эти изменения в реализацию (т.к. текущая форма уже не актуальна и записать он больше не сможет).
Выполняю свою процедуру в ПриЗаписиНаСервере, использую ТекущийОбъект, но когда пытаюсь второй раз записать - выдает ошибку, мол временная таблица *нейм* уже существует. Пытался и ТекущийОбъект.Записать и сначала получить его заново и записать - не робит.

Так вот вопрос, как "правильно" записать несколько раз объект в процедуре перед записью?
1 Galaad
 
20.10.25
13:44
Поправка : ПередЗаписьюНаСервере
2 asady
 
20.10.25
13:45
(0) никогда так не делай!
3 maxab72
 
20.10.25
13:51
следующей темой будет, как быстро и просто разобраться с неожиданно(!) возникшим бардаком по резервам и остаткам в УНФ... И можно ли все поправить, добавив еще один реквизит в заказ.
4 Galaad
 
20.10.25
13:53
(3) зришь в корень ;)
5 Galaad
 
20.10.25
13:53
(2) а приходится!
6 Мультук
 
гуру
20.10.25
13:57
(0)

1) Допустим
В заказе
Товар1 = 20 шт

В реализации
Товар1 = 15 шт

Типовое закрытие заказа -- вычерк. Надеюсь в УНФ это есть.
Смотрим, копи-пастим, делаем

Пишем регламентное, которое это делает

2) Допустим
В заказе
Товар1 = 20 шт

В реализации
Товар1 = 20 шт
Товар1 = 3 шт (вне заказа)

Цель -- втащить эти 3 шт в заказ

Пишем регламентное, которое медленно и печально (Например, ночью под одеялом) это делает


===Вопрос===
Какая у вас ситуация и зачем вы пытаетесь её решить в некоем событии ?
7 программистище
 
20.10.25
14:01
На крайний случай можно после записи реализации подправить заказ и првоести в соответствии с реализацией
8 Galaad
 
20.10.25
14:13
(7) Ситуация : У заказчика огромные объемы продаж, заказы приходят с сайта, из него уже создаются реализации и разносятся по складам (на каждый склад своя). Когда на склад приходит заявка на сборку - они собирают и прописывают развесовку. Эту развесовку они уже вносят в реализацию и она должна попасть в заказ. Сначала добавили им кнопку для этого - они стали проебываться, и просят "чтобы все автоматически менялось, у нас лапки".
И теперь мы здесь, пытаемся засунуть всю эту процедуру в типовой функционал.
9 K1RSAN
 
20.10.25
14:20
(8) Не могут нажать кнопку "обновить заказ по реализации"? Или как вы назвали эту кнопку
10 программистище
 
20.10.25
14:21
из (8) не видно, чем (6) не подходит
Что мешает  сделать как в (7)
Ошибка отгрузки сверхзаказа? ошибка резерва?
и зачем перед записью его записывать
11 программистище
 
20.10.25
14:24
Другое дело если после изменения заказа, нужно привязать строки реализации к строкам заказа и потом последовательно перепровести, чтобы регистр заказов списался
тогда точно (6)
12 Galaad
 
20.10.25
14:26
(9) Типа того
13 Galaad
 
20.10.25
14:37
(7) не даст записать, т.к. "Оформлено больше, чем в заказе" и наоборот
14 Garykom
 
гуру
20.10.25
15:43
Это делается не так!

1. Сделать отдельную кнопку в Реализации
2. В реализации ПередЗаписьюНаСервере проверять все ли хорошо с Заказом
3. Если плохо Отказ = Истина и сообщение юзеру: "Собака нажми кнопку "Обновить Заказ"!"
4. Только после разрешит записать Реализацию с правильным Заказом
15 Garykom
 
гуру
20.10.25
15:44
(14)+ регламентное как написано в (6)
16 Galaad
 
21.10.25
13:04
(14) забавно, но забраковали) Изначально хотел так сделать, но им именно, блять, надо перед записью
17 Galaad
 
21.10.25
13:05
(15) Нужно чтобы менялось сразу, а не где-то "ночью под одеялом"
18 Garykom
 
гуру
21.10.25
13:36
(16) Ну такое есть в ЕРП/КА/УТ11
Там происходит отказ, выполняются действия и далее программная запись открытого дока
Причем с закрытием его форма или нет смотря какую кнопку нажали
Изврат еще тот с переменными формы и общими модулями в которые несколько раз вызов приходит

Суть что ловить надо ПередЗаписью еще на клиенте а дальше решать что делать
19 Garykom
 
гуру
21.10.25
13:41
(18)+ можно и отложенное выполнение через ПодключитьОбработчикОжидания использовать кстати
т.е. проверяешь в ПередЗаписью на клиенте
Если низзя (Заказ кривой) то Отказ = Истина и запускаешь через ПодключитьОбработчикОжидания сначала исправление Заказа а затем запись(закрытие) Реализации
20 Garykom
 
гуру
21.10.25
13:52
Если задаешь подобные вопросы вместо того, чтобы мануалы копать (или код типовых разбирать), это означает рановато за такое браться
Накосячишь много
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn