|
Как правильно создать и заполнить документ | ☑ | ||
---|---|---|---|---|
0
Zixxx
14.05.16
✎
13:39
|
В БП 3.0 нужно создать и заполнить документ "ПоступлениеНаРасчетныйСчет"
1. Если создать документ на сервере, то его невозможно заполнить типовыми процедурами типа "ПриИзмененииКонтрагента", так как там передается управляемая форма а при создании есть только объект 2. Если Получить Управляемую форму то невозможно ее передать в серверную процедуру "ПриИзмененииКонтрагента". Как правильно создать и заполнить документ в таком случае? |
|||
1
zak555
14.05.16
✎
14:04
|
покажи приИзменениеКонтрагента
|
|||
2
Zixxx
14.05.16
✎
14:09
|
&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент) Если ЗначениеЗаполнено(Объект.Контрагент) Тогда КонтрагентПриИзмененииСервер(); КонецЕсли; КонецПроцедуры &НаСервере Процедура КонтрагентПриИзмененииСервер() ПоступлениеНаРасчетныйСчетФормы.КонтрагентПриИзмененииСервер(ЭтотОбъект); КонецПроцедуры Ну и соответственно "ЭтотОбъект" это уже УправляемаяФорма |
|||
3
zak555
14.05.16
✎
14:14
|
об = документы.ПоступлениеНаРасчетныйСчет.создатьДокумент();
ПоступлениеНаРасчетныйСчетФормы.КонтрагентПриИзмененииСервер(об); |
|||
4
Zixxx
14.05.16
✎
14:30
|
(3) Нет, так не подойдет, вот сама процедура на сервере, там используется и управляемая форма и сам объект
Процедура КонтрагентПриИзмененииСервер(Форма) Экспорт Объект = Форма.Объект; ПричиныИзменения = Новый Массив; ПричиныИзменения.Добавить("Контрагент"); УстановитьВладельцаСчетаКонтрагента(Форма); УстановитьПараметрыВыбораБанковскихСчетов(Форма); ПараметрыОбъекта = ТекущиеПараметрыОбъекта(Форма); НовыеПараметры = НовыеПараметрыПриИзмененииКонтрагента(ПараметрыОбъекта); ЗаполнитьЗначенияСвойств(Объект, НовыеПараметры, "СчетКонтрагента"); ИнициализироватьСвойстваПлатежаНаСервере(Форма, Истина); ЗаполнитьЗначенияСвойств(Форма.СвойстваПлатежа, НовыеПараметры); ПерезаполнитьРасшифровкуПлатежа(Форма); УправлениеФормой(Форма); ЗаполнитьСчетаУчета(Форма, "Контрагент", ПричиныИзменения); КонецПроцедуры |
|||
5
zak555
14.05.16
✎
14:35
|
(4) странно, почему в 2 передаётся реквизит формы
|
|||
6
Zixxx
14.05.16
✎
14:38
|
(5) Пробовал создать структуру, но там постоянно то дергаются реквизиты формы то реквизиты объекта, причем так сделано не только при изменении контрагента, также при изменении счета, организации, заполнение документа и т.п.
Я вот думал может есть какая-то процедура подготовки структуры или что-то в этом роде. Не хочется полностью в ручную заполнять все реквизиты документа с кучей проверок. |
|||
7
RomanYS
14.05.16
✎
14:44
|
(5) передается форма, потому что в контексте упр. формы ЭтотОбъект=ЭтаФорма( начиная с 8.2 или 8.3)
(0) зачем тебе эти обработчики формы, заполни всё сам. |
|||
8
Zixxx
14.05.16
✎
14:51
|
(7) Лень самому заполнять, должно быть какое-то универсальное решение
|
|||
9
RomanYS
14.05.16
✎
14:58
|
(8) если оно есть, то в модулях объект, менеджера или в общих. Но точно не в формах, там ~80% шлака(применительно к твоей задаче) связано с видимостью и доступностью элементов.
Чего ты ждешь от этих функций? Ты боишься, что твой код выберет договор или счёт от другого контрагента? |
|||
10
zak555
14.05.16
✎
15:03
|
(7) чёрт, не так посмотрел
мнеипрказалось этотОбъект.объект ) |
|||
11
Zixxx
14.05.16
✎
15:07
|
(9) Ерунду какую-то ты написал. Подумал перед этим?
|
|||
12
RomanYS
14.05.16
✎
15:11
|
(11) с чем ты не согласен? Это моё мнение, если ты ответишь на те вопросы (что должно заполняться и проверяться по твоим ожиданиям), я возможно это мнение поменяю.
|
|||
13
Zixxx
14.05.16
✎
15:19
|
(12) Да при чем тут согласен не согласен, если ты отходишь от темы, то ли не понимая что нужно то ли не хотя понять.
|
|||
14
RomanYS
14.05.16
✎
15:36
|
(13) я то как раз хочу понять, поэтому и спрашиваю (в третий раз уже) о твоих ожиданиях от этих функций.
Моё видение: ты открыл форму, увидел километр кода, решил, что без километра кода документ не заполнить, решил этот код каким-то образом использовать. По факту надо разобраться и заполнить пару десятков реквизитов. А в форме можно лишь подсмотреть, например, что надо вызвать, чтобы заполнились счета учета и т.п. ЗЫ. Скажи ещё раз, что я "оффтоплю" и не буду тему больше открывать. |
|||
15
Zixxx
14.05.16
✎
15:46
|
(14) Да, можешь больше не открывать, так как не смотрел километр кода и не решал что без него не заполнить документ. Как заполнять я знаю, вопрос в другом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |