|
Настройка компоновки данных на форме элемента документа | ☑ | ||
---|---|---|---|---|
0
nasik90
26.03.15
✎
10:55
|
Как в модуле элемента формы перевести тип "Поле компоновки данных" в вид Объект.Ревизит1?
Т.е. у меня есть поле компоновки данных = "Договор.ПредметДоговора.ВидЛимита", его нужно перевести в вид Объект.Договор.ПредметДоговора.ВидЛимита. Как это сделать? Нужно это для обработки настроек компоновки данных на форме элемента. Форма управляемая, платформа 8.3. |
|||
1
фобка
26.03.15
✎
10:57
|
Реквизитформывзначение()?
|
|||
2
Cube
26.03.15
✎
11:00
|
(1) Реквизит реквизита не надо приводить, он и так имеет нужны тип.
(0) Не понятен вопрос. Скрины есть? |
|||
3
fisher
26.03.15
✎
11:01
|
(0) Ничего не надо приводить. Ссылка уже есть. Просто записываешь её в значение поля компоновки.
|
|||
4
fisher
26.03.15
✎
11:03
|
Вернее, не так. "ПолеКомпоновкиДанных" - это медаданные, а не данные. Оно не может хранить значение. Где-то ты мутишь.
Точнее сформулируй задачу. |
|||
5
fisher
26.03.15
✎
11:08
|
Вот есть у тебя в реквизитах формы КомпоновщикНастроек (правильно инициализированный). Какие именно настройки ты хочешь задать из данных формы? Отбор, параметр? Что?
|
|||
6
nasik90
26.03.15
✎
11:16
|
(2) (4) (5)
Ссылка на скриншот: https://drive.google.com/file/d/0B_KGLEkdCecVNFhscEl3ZXdlNXc/view?usp=sharing |
|||
7
nasik90
26.03.15
✎
11:22
|
Возможно ли это реализовать, как думаете?
|
|||
8
fisher
26.03.15
✎
11:24
|
(6) Ты хочешь странного. Приведенный код самодостаточен и логичен. А ты предлагаешь какой-то бред с непонятной целью.
|
|||
9
fisher
26.03.15
✎
11:31
|
Логика заложенная сейчас - если значение из документа совпадает с установленным отбором, то устанавливается соответствующий флаг. А чего хочешь ты?
|
|||
10
nasik90
26.03.15
✎
11:35
|
(8) Я хотел бы таким образом многие реквизиты объекта на форме документа обработать. В частности те, которые введет пользователь в настройках компоновки данных. Заранее предугадать, что он внесет в настройках, не могу.
Задача заключается в следующем - пользователь в настройках компоновки данных задает отбор для тех или иных полей объекта (происходит это на отдельной форме для настроек). Настройки компоновщика хранятся в базе в типе "Хранилища значений". При открытии формы документа объекта происходит считывание настроек компоновщика и в зависимости от отборов, которые он установил, в табличную часть этого документа попадают те или иные данные, которые он так же указывает на форме настроек. |
|||
11
Cube
26.03.15
✎
11:40
|
(10) Я тебя понял. Ты пытаешься использовать отбор компоновки для своих целей без самой СКД. Но зачем тебе это? Сделай СКД с запросом, суй туда свой отбор, выполняй её программно и смотри, если на выходе есть строки, то
УсловияВыполнены = Истина; |
|||
12
nasik90
26.03.15
✎
11:49
|
(11) Хорошая идея, спасибо! Жаль, что только не получится использовать эту идею при изменении какого-то реквизита на форме, т.к. данные еще не сохранены и в запрос они не попадут.
А использую отбор компоновки - потому что красиво и не нужно самому писать что-то наподобие. И да, я программно создаю для этого объект СКД. |
|||
13
Cube
26.03.15
✎
11:59
|
(12) Да это идея 1С, так реализованы внешние печатные формы в любой типовой (правда там на построителе отчетов, но я и на СКД то же самое делал).
Пусть запишут перед заполнением. |
|||
14
fisher
26.03.15
✎
12:00
|
(10) Ничего не понятно. Если отборы пользователь устанавливает не в документе и по ним нужно всего лишь выполнить его начальное заполнение, то и вычитывать данные отборов нужно не в документе. А начальное заполнение документа выполнять штатно без всяких компоновок и не извращаться.
Но каким образом к начальному заполнению документа относится "Объект.Договор.ПредметДоговора.ВидЛимита"?? |
|||
15
nasik90
26.03.15
✎
12:19
|
(14) Заполнение табличной части документа будет производиться не только в зависимости от выбранного договора(и его реквизитов), но и от других реквизитов документов. И поэтому решили сделать что-то универсальное, чтобы ответственный человек сам мог в режиме Предприятия эти условия заполнения задавать.
К тому же таких документов несколько и условия могут меняться ежедневно - поддерживать условия на уровне конфигурации, постоянно вносить изменения в нее - геморно, хотя это хлеб франчей, наверное) |
|||
16
Cube
26.03.15
✎
12:21
|
(15) Так почему ты тогда говоришь, что данные на записаны? Все реквизиты документа записаны в БД по-любому. Вот и суй их в запрос и получай там результат...
|
|||
17
nasik90
26.03.15
✎
12:26
|
(16)
Как записаны? Пользователь выбрал договор на форме документа - в базе этой информации еще нет, нужно записать. |
|||
18
DrShad
26.03.15
✎
12:47
|
(17) не пихай в запрос ссылку - используй внешний набор данных - например ТЗ, в которую собери с формы все что есть
|
|||
19
Cube
26.03.15
✎
12:49
|
(17) Так ты не пихай в запрос ссылку на документ, ты пихай в запрос реквизиты документа...
|
|||
20
nasik90
26.03.15
✎
12:57
|
(18) (19) Понял, спасибо! Буду пробовать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |