|
УТ11.5 Перепроведение Заказ клиента, с обновленным соглашением. | ☑ | ||
---|---|---|---|---|
0
newtech
naïve
03.02.23
✎
10:34
|
Из УНФ синхронизированы ЗК, настроены соглашения для всех контрагентов. Есть ли способ перепровести все ЗК., с обновлением регистров согласно соглашению.
я так понимаю в управляемых формах перепроведение работает несколько иначе. |
|||
1
saaken
03.02.23
✎
10:43
|
Причем здесь формы и проведение
|
|||
2
Мультук
гуру
03.02.23
✎
10:44
|
(0)
1) Примерно вот такой псевдо-код 2) Лучше потренироваться, сменить соглашение вручную, потом программно и увидеть, что результаты одинаковые 3) Соглашения я программно не менял, готового кода нет об = Ссылка.ЗаказКлиента.ПолучитьОбъект(); об.Соглашение = НовоеСоглашение; //смотрим в форму документа, что происходит при смене соглашения, анализируем вызовы //выполняем {здесь} этот код, который связан непосредственно с бизнес-логикой, а не с формой //имхо если этого не делать, ничего не поменяется об.Записать(РежимЗаписиДокумента.Проведение); |
|||
3
newtech
naïve
05.02.23
✎
11:24
|
(2) Нужна помощь.
Создал Расширение, в котором Создал программно кнопку на форме списка ЗК. В обработчик добавил такой код
те. выбираю Заказы в которых нужно обновить соглашение, и получаю массив ссылок на документы. как обратится к документу не открывая его, и вызвать в нем событие СоглашениеПриИзменении(Элемент), ну и перепровести в конечном итоге. |
|||
4
Мультук
гуру
05.02.23
✎
12:52
|
(3)
Я в (2) вроде всё подробно написал. Что не так? |
|||
5
newtech
naïve
05.02.23
✎
13:17
|
(4) об = Ссылка.ЗаказКлиента.ПолучитьОбъект(), эта строчка не понятна, у меня не работает., я только учусь ))
я так понимаю нужно из массива получить получить ссылку на Заказ, не могу понять как это сделать. |
|||
6
Мультук
гуру
05.02.23
✎
13:41
|
(5)
Как по мне, для новичка вы взяли очень нетривиальную задачу P.S. Я бы на вашем месте отложил бы в сторону расширение и прочее Создал бы новую обработку с ревзитами: - ЗаказКлиента - НовоеСоглашение Вынес бы на форму этой обработки кнопки (команду) и начал бы писать функцию "ЗаменитьСоглашение" &НаКлиенте Процедура СделатьХорошо(Команда) ЗаменитьСоглашение(Объект.ЗаказКлиента, Объект.НовоеСоглашение); КонецПроцедуры &НаСервереБезКонтекста Функция ЗаменитьСоглашение(СсылкаНаЗаказКлиента, СсылкаНовоеСоглашение) об = СсылкаНаЗаказКлиента.ПолучитьОбъект(); Об.Соглашение = СсылкаНовоеСоглашение; //смотрим в форму документа, что происходит при смене соглашения, анализируем вызовы //выполняем {здесь} этот код, который связан непосредственно с бизнес-логикой, а не с формой //имхо если этого не делать, ничего не поменяется Об.Записать(РежимЗаписиДокумента.Проведение); Возврат истина; КонецФункции После того как эта функция заработает и заработает правильно, ее код можно будет перенести куда-нибудь еще. P.P.S. Кстати, пользователю в вашем расширении нужно как то дать выбрать новое соглашение. |
|||
7
newtech
naïve
05.02.23
✎
14:26
|
(6) Пользователь, владелец базы, администратор и программист - одно лицо, пока что )).
у меня конфигурация на поддержке, потому решил через Расширение., причем многие функции уже работают как надо., на данный момент пытаюсь учится с некоторой пользой (добавление разных плюшек). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |