|
Обойти Таблицу Элемента Формы | ☑ | ||
---|---|---|---|---|
0
55reg
22.11.19
✎
12:00
|
Итак Есть Таблица документа с реквизитами, Есть форма документа - на ней Таблица с типом "Таблица документа с реквизитами". Эту таблицу легко и просто обойти и что то то там поменять...
Мне нужно добавить в ЭлементФормы."Таблица документа с реквизитами" - свою колонку (без проблем и добавил на форме свою колонку) с какими то значениями которые будут рассчитываться "на лету" - теперь встал вопрос как обойти ЭлементФормы."Таблица документа с реквизитами" для изменения моей доп колонки которую я добавил на форме. Я не хочу хранить в реквизитах Таблицы документа это доп значение, но мне нужно его дополнительно вывести в колонку таблицы на форме. Как это сделать ? |
|||
1
acht
22.11.19
✎
12:04
|
ОФ, УФ?
|
|||
2
Nikifforoff96
22.11.19
✎
12:35
|
Ты не можешь хранить значение в элементе. Добавляй реквизит формы в табличную часть документа (не в сам документ, а на форме) и в него пиши значение
|
|||
3
Nikifforoff96
22.11.19
✎
12:38
|
||||
4
acht
22.11.19
✎
12:39
|
(2) Он может желать просто отображать значение, которое вычисляется по другим, хранящимся значениям.
Вот только сказать про это не может. |
|||
5
1С Ассенизатор ПРОФ
22.11.19
✎
12:54
|
ПриВыводеСтроки событие
|
|||
6
55reg
22.11.19
✎
13:10
|
(4) А я как сказал ?
НЕ хочу хранить в реквизитах Таблицы документа это доп значение, но мне нужно его дополнительно ВЫВЕСТИ в колонку таблицы на форме. Как это сделать ? |
|||
7
55reg
22.11.19
✎
13:13
|
(5) Спасибо! Не сообразил в таком ключе посмотреть...
|
|||
8
acht
22.11.19
✎
13:19
|
(7) Только ПриПолученииДанных все-таки лучше.
|
|||
9
55reg
22.11.19
✎
13:41
|
(8) что то через ПриПолученииДанных - толком ни к чему не обратиться, а при ПриВыводеСтроки - сама срока в форме не изменяется хотя в обработчике все высчитывается и присваивается... Через отладчик это видно
|
|||
10
55reg
22.11.19
✎
13:46
|
(8) А чем это лучше ?
|
|||
11
acht
22.11.19
✎
13:49
|
(9) > толком ни к чему не обратиться
Неверно. У тебя там есть коллекция точно таких же отображений, как в ПриВыводеСтроки Ну и не присваивать надо, а уставливать текст/картинку и т. п. Ты же сам не хочешь нигде хранить, а от платформы почему-то этого требуешь. |
|||
12
55reg
22.11.19
✎
13:55
|
.УстановитьТекст(Выборка.Количество); да к чему же это присобачить ! )))
Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) |
|||
13
55reg
22.11.19
✎
14:11
|
(8) Увы в обработчике ТоварыПриПолученииДанных не удалось присвоить значение (установить текст) нужной ячейке...
В обработчике ТоварыПриВыводеСтроки все получилось... Так и не понял в чем разница и почему лучше ТоварыПриПолученииДанных вариант? И к чему там обратиться для установки значения ??? |
|||
14
55reg
22.11.19
✎
14:14
|
Эти обработчики отличаются
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Процедура ТоварыПриПолученииДанных(Элемент, ОформленияСтрок) В первом через ОформлениеСтроки присваивается значение Ячейки во втором ОформленияСтрок - это малость не то |
|||
15
D_E_S_131
22.11.19
✎
15:12
|
"Так и не понял в чем разница и почему лучше..." - если для вывода значения в доп.колонку достаточно данных в строке, то можно это делать ПриВыводеСтроки. Если же требуется получить из базы какие-то данные, то лучше это делать ПриПолученииДанных, т.к. тут есть возможность обратиться ко всей коллекции ОформленияСтрок и получить данные для всех строк за один запрос.
|
|||
16
acht
22.11.19
✎
15:14
|
(14) Обратись, пожалуйста к ДенисЧ, он продаст тебе синтакс помощник, в котором описаны как обработчики, так и типы их аргументов.
|
|||
17
D_E_S_131
22.11.19
✎
15:24
|
(14) А там так
МассивТоваров = Новый Массив; СоответствиеТоваровСтрокам = Новый Соответствие; Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ТекДанные = ОформлениеСтроки.ТекущиеДанные; МассивТоваров.Добавить(ТекДанные.Номенклатура); СоответствиеТоваровСтрокам.Вставить(ТекДанные.Номенклатура, ОформлениеСтроки); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = <Текст запроса на получение остатков по номенклатуре из &ВыбТовары>; Запрос.УстановитьПараметр("ВыбТовары", МассивТоваров); Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Возврат; КонецЕсли; Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл ОформлениеСтроки = СоответствиеТоваровСтрокам[Выборка.Номенклатура]; ОформлениеСтроки["ОстатокПоТовару"].УстановитьТекст(Выборка.КоличествоОстаток); КонецЦикла; |
|||
18
D_E_S_131
22.11.19
✎
15:28
|
(17) "ТекущиеДанные" скорее всего надо заменить на "ДанныеСтроки". "Возьму в дар СП по ОФ" :)
|
|||
19
55reg
22.11.19
✎
17:04
|
(17) Проверю, разберу спасибо
(18) "Возьму в дар СП по ОФ" :) - что это значит )) |
|||
20
D_E_S_131
22.11.19
✎
17:23
|
(19) Это то, что в (16) предлагалось, но только по Обычным формам (если у конфигурации основной режим запуска "Управляемое приложение" и совместимость интерфейса "Такси", то в справке нет материалов по обычному интерфейсу). :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |