Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Внешняя обработка для заполнения табличных частей на управляемых формах без сохранения

Внешняя обработка для заполнения табличных частей на управляемых формах без сохранения
Я
   Tornadius
 
28.12.21 - 08:12
Доброго дня всем!
С наступающим Новым Годом!!!

Я понимаю, что тема - баян, но к концу года совсем туго думается. Помогите с сабжем.
Нужно написать внешнюю обработку по заполнению табличной части док. "Установка цен номенклатуры" в БП 8.3 данными из документа "Поступление из переработки"
(таб. часть. "Продукция", перенести нужно только колонку "номенклатура" и установить валюту в "Руб.")
Вызываться команда должна из кнопки "Заполнить" которая в таб.части док. "Установка цен номенклатуры" - просто добавить программно туда команду запуска заполнения
Если таб.часть не пуста выдавать вопрос на очистку и после открывать форму выбора документа "Поступление из переработки". по Ок перенести номенклатуру.
Док. "Установка цен номенклатуры" не записывать не до заполнения, не после, просто перезаполнить форму, аналогично команде "заполнить из поступления"

Погуглив по сетке нашел два подхода к заполнению Таб.частей - через тип команды "ЗаполнениеФормы" - не подходит, так как ВыполнитьКоманду вызывается в модуле внешней обработки сразу на сервере
и как там организовать диалоги вопросов и вызов формы выбора не понятно,
И второй вариант через "ВызовКлиентскогоМетода" но тогда не понятно как передавать полученные данные в форму и обновлять ее. Не сохраняя. Этот метод требует перед заполнением записать заполняемый документ.

Какой-то бег по кругу. Может кто натолкнет на путь правильный?
   assasu
 
1 - 28.12.21 - 08:31
(0)"...через "ВызовКлиентскогоМетода" но тогда не понятно как передавать полученные данные в форму и обновлять ее. Не сохраняя..." у тебя скилл не прокачен. ключевой момент.
   assasu
 
2 - 28.12.21 - 08:32
(0) правильно через вызов клиентского метода. на форме есть реквизит основной - заполнять его нужно.на сервер он прекрасно передается. И в ок0нцовке - "СкопироватьДанныеФормы"
   Галахад
 
3 - 28.12.21 - 08:37
Если я правильно понял. https://infostart.ru/1c/articles/825702
Третий комментарий.
   assasu
 
4 - 28.12.21 - 08:38
(3) да. я чуток описался. верно "КопироватьДанныеФормы"
   Мультук
 
5 - 28.12.21 - 08:49
(0)

Есть один нюанс.
Фактически все что ты видишь на форме (дерево цен) построено динамически.

Допустим у тебя чистый документ в котором будет два вида цены и три номенклатуры.
Засунуть их в табличные части
Товары
ВидыЦен

несложно. Вот только затем нужно просто прочитать и обдумать функцию формы
Процедура ЗаполнитьДокумент()

ну и остальное, что написано в 

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

чтобы все это визуализировать.


P.S.

И да "НомерВПределахДня" -- это важно
   Tornadius
 
6 - 28.12.21 - 09:21
(2) Как к этому реквизиту обратится? Через ВладелецФормы, так он "Неопределено".
Как после заполнения обновить форму?
   Tornadius
 
7 - 28.12.21 - 09:26
(2) На чьей форме - форме внешней обработки или заполняемого документа из которой идет вызов команды?
   Мультук
 
8 - 28.12.21 - 09:30
(5)

оу. Пропустил ключевые слова БП 8.3
Тогда качаем нужную дему по БСП, например

https://releases.1c.ru/project/SSL30

Там есть примеры.
   assasu
 
9 - 28.12.21 - 10:32
(6) это случай когда у тебя внешняя обработка заполнения таб части. Там ВладелецФормы <> Неопределено
   Tornadius
 
10 - 28.12.21 - 11:30
(8) Скачал, установил, просмотрел все примеры заполнения. Ни один не отвечает заданным требованиям. даже близко.
   Tornadius
 
11 - 28.12.21 - 11:31
(9) Можно пример кода?
   Tornadius
 
12 - 28.12.21 - 13:44
(2) (4) Спасибо за подсказку "КопироватьДанныеФормы", получилось практически все, кроме сохранения перед заполнением.
Но это похоже не устранить - так работает "ВызовКлиентскогоМетода".
   Tornadius
 
13 - 29.12.21 - 05:06
Осталось только кнопку вызова команды засунуть в табличную часть. ко всем другим командам, а то она где-то в стороне рисуется
   assasu
 
14 - 29.12.21 - 08:33
(12) не понял про сохранение. методически правильно как раз ничего не сохранять.
(13) бсп надо курнуть.Кажется там поиск предопределенной группы на форме, а ее то и нет
   Tornadius
 
15 - 13.01.22 - 07:07
(14) Если док был модифицирован перед нажатием на кнопку "Заполнить" будет вызван диалог с предложением сохранить док. если отказываешься - заполнения не происходит. Сохраняешь, возникает вопрос об очистке таб. части и далее идет заполнение. док снова становится модифицирован, но не сохранен. и тут пользователь выбирает сам - сохранять или нет.
   МимохожийОднако
 
16 - 13.01.22 - 08:21
Есть еще расширения....

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