![]() |
#1 |
Участник
|
![]()
Стоит задача:
В форме PurchTable==>(New)==>PurchCreateOrder необходимо устанавливать для Site и Warehouse некоторые значения по умолчанию(например Def) если они пустые после введения вендора в Vendor Account. Например, ввели Vendor Account = 'V000001'. Из вендора подтянулись значения Site и Warehouse. Припустим - они пустые. Значит, должны подтянутся Site = 'Def' и Warehouse = 'Def'. Подскажите, плиз, как мне быть. Спасибо! |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от andriy_s
![]() В форме PurchTable==>(New)==>PurchCreateOrder необходимо устанавливать для Site и Warehouse некоторые значения по умолчанию(например Def) если они пустые после введения вендора в Vendor Account.
Например, ввели Vendor Account = 'V000001'. Из вендора подтянулись значения Site и Warehouse. Припустим - они пустые. Значит, должны подтянутся Site = 'Def' и Warehouse = 'Def'. Подскажите, плиз, как мне быть. Спасибо! PurchCreateOrder \ Data Sources \ PurchTable \ Fields \ OrderAccount \ Methods \ Modified |
|
![]() |
#3 |
Участник
|
Так и хотел сделать - но так не помогает:
X++: PurchTable_InventSiteId.text("Def"); |
|
![]() |
#4 |
Боец
|
Цитата:
Сообщение от andriy_s
![]() Стоит задача:
В форме PurchTable==>(New)==>PurchCreateOrder необходимо устанавливать для Site и Warehouse некоторые значения по умолчанию(например Def) если они пустые после введения вендора в Vendor Account. Например, ввели Vendor Account = 'V000001'. Из вендора подтянулись значения Site и Warehouse. Припустим - они пустые. Значит, должны подтянутся Site = 'Def' и Warehouse = 'Def'. Подскажите, плиз, как мне быть. Спасибо! |
|
![]() |
#5 |
Участник
|
правильно, потому что надо изменять значение поля в датасорсе, а не значение контрола.
|
|
![]() |
#6 |
Боец
|
Цитата:
andriy_s, Касательно PurchTable\SalesTable инициализация происходит в методах таблицы: \Data Dictionary\Tables\PurchTable\Methods\modifiedField \Data Dictionary\Tables\PurchTable\Methods\transferOrderAccount здесь всё-таки лучше, чем на insert(), ибо после создания записи, вендора можно поменять. |
|
|
За это сообщение автора поблагодарили: andriy_s (1). |
![]() |
#7 |
Участник
|
Цитата:
потому что в момент PurchCreateOrder значение еще не записано в таблицу. И в таблице менять еще нечего. |
|
![]() |
#8 |
Участник
|
Цитата:
Сообщение от DSPIC
![]() Касательно PurchTable\SalesTable инициализация происходит в методах таблицы:
\Data Dictionary\Tables\PurchTable\Methods\modifiedField \Data Dictionary\Tables\PurchTable\Methods\transferOrderAccount здесь всё-таки лучше, чем на insert(), ибо после создания записи, вендора можно поменять. |
|
|
За это сообщение автора поблагодарили: andriy_s (1). |
![]() |
#9 |
Боец
|
Цитата:
И определись, с чем именно ты согласен. В обоих приведенных цитатах речь идет о методах таблицы. |
|
![]() |
#10 |
Боец
|
|
|
![]() |
#11 |
Участник
|
Цитата:
![]() Объясняю... "изменять нужно значение поля в таблице" нельзя изменять поле в таблице, поскольку табличную переменной бесполензно изменять и не записывать. А записывать в коде формы PurchCreateOrder нельзя, поскольку за запись отвечает сама форма при закрытии кнопкой Ok. Поэтому код вида в этой форме применять нельзя: X++: somemethod()
{
PurchTable pt;
pt.OrderAccount = "someValue";
pt.insert();
} внутри формы название датасорса обычно совпадает с именем таблицы. однако внутри формы обращаться надо именно по имени датасорса и менять поле датасорса, а не таблицы. Цитата:
Я с тобой согласен, что код надо разместить в методах таблицы. Однако если код вызывается из датасорса формы, то менять он будет не поля таблицы, а поля датасорса. ![]() я подозреваю, что ты немножко поторопился. и вдруг решил, что я говорю об объекте с суффиксом _ds. Нет, DSPIC, я не имел в виду объект с суффиксом _ds. Во-первых, этот объект не позволяет изменить значение поля ![]() Во-вторых, почитай про этот суффикс, раз уж программируешь меньше 100 лет ![]() |
|
![]() |
#12 |
Участник
|
"R-подход" тут не при чем.
Автор спрашивал про форму PurchCreateOrder, ты показываешь форму PurchTable. У PurchCreateOrder есть масса особенностей. Первая - она работает не с записью таблицы (датасорс еще не записан, будет записан только после нажатия кнопки Ok). повторюсь, что согласен с тобой и также считаю правильным писать код в modified таблицы. но будем справедливы. R-подход тут ни причем. |
|
![]() |
#13 |
Боец
|
Спасибо, повеселил на сон грядущий
![]() P.S. Извините за флуд, ушел из темы... ![]() |
|
Теги |
default, override, purchcreateorder |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|