|
Заполнение доп. реквизита на форме | ☑ | ||
---|---|---|---|---|
0
golem14
17.11.21
✎
09:20
|
Нужно программно заполнить доп. реквизит на форме при выборе склада.
Сделал вот так, но мне кажется что-то очень сложный код получился, может это делается как-то проще? Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Направление продаж"); СтруктураПоиска = Новый Структура("Свойство", Свойство); МассивСтрок = ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(СтруктураПоиска); ОписаниеСвойства = МассивСтрок[0]; ИмяСвойстваНаФорме = ОписаниеСвойства.ИмяРеквизитаЗначение; ЭтотОбъект[ИмяСвойстваНаФорме] = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Коммерческие продажи", , , Свойство); |
|||
1
Малыш Джон
17.11.21
✎
09:34
|
Можно упростить:
ЭтотОбъект[ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Новый Структура("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Направление продаж")))[0].ИмяРеквизитаЗначение] = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Коммерческие продажи", , , Свойство); |
|||
2
RomanYS
17.11.21
✎
09:38
|
(1) Свойство же не определено, переписывай)))
|
|||
3
golem14
17.11.21
✎
09:42
|
(1) ну, написать в одну строку не значит упростить )))
|
|||
4
DexterMorgan
17.11.21
✎
09:42
|
(0) Если тебе нужно в коде работать с доп. реквизитом - он не должен быть доп. реквизитом.
Но ты конечно можешь страдать и дальше |
|||
5
golem14
17.11.21
✎
09:44
|
(4) Отказаться от механизма доп. реквизитов это вариант.
|
|||
6
Малыш Джон
17.11.21
✎
09:45
|
(3) Тогда дай определение понятию "упростить")
|
|||
7
DexterMorgan
17.11.21
✎
09:45
|
(5) Что мешает добавить реквизит?
|
|||
8
Малыш Джон
17.11.21
✎
09:45
|
Можно ещё на сервере ТЧ Допреквизиты у объекта заполнять
|
|||
9
RomanYS
17.11.21
✎
09:46
|
(4) Спорно. В современные типовые ДРты довольно органично вшиты, отказываться вот из-за этого я бы точно не стал
|
|||
10
DexterMorgan
17.11.21
✎
09:47
|
(5) Сейчас заполнение, потом будет какая-нибудь пользовательская видимость, потом будешь в запросах соединять с ТЧ доп реквизитов и искать свойство по наименованию
|
|||
11
RomanYS
17.11.21
✎
09:47
|
(8) есть риск что данные из формы твою ТЧ перезаполнят.
|
|||
12
DexterMorgan
17.11.21
✎
09:48
|
(9) Не надо отказываться, надо отказываться, когда возникает потребность работать с ними в коде и запросах
|
|||
13
DexterMorgan
17.11.21
✎
09:49
|
(9) Но ты тоже можешь страдать дальше
|
|||
14
Мимохожий Однако
17.11.21
✎
09:53
|
Вместо строки
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Направление продаж"); надо искать по реквизиту "Имя". Это на форме дополнительного реквизита или доп. сведения в подразделе "для разработчиков" видно. |
|||
15
Малыш Джон
17.11.21
✎
09:53
|
(11) Слушай, ну вопрос стоит не "как надо", а "как проще" же
|
|||
16
golem14
17.11.21
✎
10:12
|
(14) Это имеет принципиальное значение? вроде и так и так одинаково работает. Вот если бы доп реквизиты на форме назывались этим именем, но нет же, там какая то абракадабра.
|
|||
17
RomanYS
17.11.21
✎
10:18
|
(16) туда можно/нужно своё записать, и уникальность должна гарантироваться в отличие от наименования
|
|||
18
Мимохожий Однако
17.11.21
✎
10:19
|
(16) Я сталкивался в некоторых базах с одинаковым наименованием для доп.реквизитов и доп.сведений. Мой вариант надёжнее
|
|||
19
golem14
17.11.21
✎
10:24
|
в общем вынес в процедуру в общем модуле
УстановитьЗначениеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита, ЗначениеРеквизита) Экспорт Можно жить. Неужели в БСП нет такой? |
|||
20
Мимохожий Однако
17.11.21
✎
10:31
|
Ради чего эти пляски с бубном?
|
|||
21
Малыш Джон
17.11.21
✎
10:31
|
(19) разве в конфе такой процедуры нет?
|
|||
22
RomanYS
17.11.21
✎
10:35
|
(21) похоже нет или не было. Или мало кто её может найти
Вот тем же путём идёт товарищ https://infostart.ru/1c/articles/867282/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |