|
|
|
8.2. Упр. форма. Как добавить вычисляемую колонку в ТЧ формы документа? | ☑ | ||
|---|---|---|---|---|
|
0
Phace
13.01.10
✎
17:54
|
Могу без проблем добавить вычисляемую колонку в список справочника, но в табличную часть документа не могу :(
|
|||
|
1
bvn13
13.01.10
✎
17:56
|
и мы счастливы!
|
|||
|
2
Phace
13.01.10
✎
17:57
|
(1) к чему это?
|
|||
|
3
Phace
13.01.10
✎
18:05
|
...ну или ткните носом в типовые 8.2 где это реализовано, я в УТ и УСН не нашел :(
|
|||
|
4
Phace
13.01.10
✎
18:06
|
(3) УСН = УНФ
|
|||
|
5
Phace
13.01.10
✎
18:18
|
Вах! Получилось :) Вопрос снят.
|
|||
|
6
kiruha
13.01.10
✎
18:19
|
И как ?
|
|||
|
7
Gr
13.01.10
✎
18:59
|
(0) Так всем теперь расскажи :)
|
|||
|
9
Phace
14.01.10
✎
12:39
|
(6),(7) актуально еще, описывать нужно?
|
|||
|
10
SilentMan
14.01.10
✎
12:58
|
(6)(7) Те почитать об этом в документации религия не позволяет?
|
|||
|
11
Phace
14.01.10
✎
13:02
|
(10) ткни, где почитать?
|
|||
|
12
Phace
14.01.10
✎
13:03
|
(10) все что я нашел в документации это как добавить вычисляемую колонку в список справочника, но где в документации про колонку в ТЧ документа?
|
|||
|
13
kiruha
14.01.10
✎
13:54
|
(10)
Хороший ответ. А главное универсальный - можно во всех ветках вставлять |
|||
|
14
SilentMan
14.01.10
✎
14:57
|
(11) в руководстве разработчика - параграф 7.1.1 ближе к концу. Даже пример использования реквизита есть.
(13) ну если религия не позволяет кому-то читать документацию и юзать поиск :) |
|||
|
15
Phace
14.01.10
✎
15:15
|
(14) смотрю руководство разработчика 8.2, параграф 7.1.1 "Разделы и подразделы основного окна приложения", соответсвенно ничего об вычисляемых колонках не увидел, или руководство у меня не то?
|
|||
|
16
RomaH
naïve
14.01.10
✎
15:18
|
(9) ну намекни хоть
|
|||
|
17
Phace
14.01.10
✎
15:20
|
(16) У меня реализация нестандартная, некий изврат в стиле 7.7, но вполне рабочая. Хотелось бы посмотреть пример "из учебника" так сказать (о котором пишет (14) и сравнить со своим.
|
|||
|
18
kiruha
14.01.10
✎
15:21
|
(14)
Где ? >> Глава 7. Командный интерфейс 7.1. Общее устройство командного интерфейса 7.1.1. Разделы и подразделы основного окна приложения Все глобальные команды основного окна приложения объединяются в разделы. Переход между ними осуществляется при помощи панели разделов. Состав этих разделов однозначно определяется составом подсистем верхнего уровня, для которых установлен признак Использовать стандартные команды. Команды текущего раздела отображаются в панели навигации и панели действий основного окна. При отображении команд того или иного раздела в панели навигации возможно появление одного или нескольких «подразделов», каждый из которых – это совокупность команд, соответствующих подчиненной подсистеме (также с признаком Использовать стандартные команды). Например, в разделе Торговый учет возможно появление подразделов Розничная торговля и Оптовая торговля за счет существования соответствующих подчиненных подсистем. |
|||
|
19
RomaH
naïve
14.01.10
✎
15:25
|
(17) подробнее
|
|||
|
20
kiruha
14.01.10
✎
15:25
|
А, 8.1.1 действительно есть
|
|||
|
21
Phace
14.01.10
✎
15:33
|
(20) нда, в 8.1.1. тот же изврат что и у меня :)
|
|||
|
22
kiruha
14.01.10
✎
15:43
|
Какой изврат ?
Добавляем колонку реквизита Реквизит1 ТЧ в окне реквизитов. Добавляем поле реквизита с данными Реквизит1 в окне Элементы В ПриЧтенииНаСервере заполняем |
|||
|
23
SilentMan
14.01.10
✎
15:45
|
(15) (18) Надо использовать актуальную версию документации. декабрьский ИТС:
7.1.1 Типы данных формы |
|||
|
24
Phace
14.01.10
✎
15:47
|
(17) итак, кому еще интересна реализация вычисляемой колонки в ТЧ документа:
Открываем форму документа, в правой части формы, раскрываем нужную ТЧ документа и добавляем реквизит типа "строка". Затем в левой части формы документа добавляем поле и связываем его с только что созданным реквизитом. После чего ан форме появляется нужная нам колонка. Теперь осталось заполнить ее данными, но в управляемых формах в списках теперь нет события "ПриВыводеСтроки()" и "ПриПолученииДанных()", как заполнять? Во-первых необходимо написать обработчик события ПриЧтенииНаСервере(): Процедура ПриЧтенииНаСервере(ТекущийОбъект) Для Каждого СтрЗапасы из Объект.Запасы Цикл Если ... Тогда СтрЗапасы.ТипТМЦ = "что-то"; ... КонецЕсли; КонецЦикла; КонецПроцедуры Но этого мало, нужно еще прописать обработчик списка "ПриИзменении(): Процедура ЗапасыПриИзменении(Элемент) Если ... Тогда Элементы.Запасы.ТекущиеДанные.ТипТМЦ = "что-то"; ... КонецЕсли; КонецПроцедуры В моем случае этого достаточно, но если данные колонки получаем из других таблиц БД, то аналогичным образом нужно описать обработчик списка "ПриАктивизацииСтроки()". |
|||
|
25
Phace
14.01.10
✎
15:49
|
(22) изврат в необходимости при открытии обходить все имеющиеся строки ТЧ документа и заполнять их данными.
|
|||
|
26
kiruha
14.01.10
✎
15:52
|
(25)
Можно получить нужные данные запросом в ТЗ и в цикле брать их уже из ТЗ И вызов только один ПриЧтенииНаСервере - очень все продумано |
|||
|
27
kiruha
14.01.10
✎
15:55
|
И кстати - после изменения не возникает ПриЧтенииНаСервере ?
|
|||
|
28
Phace
14.01.10
✎
15:56
|
(27) проверь
|
|||
|
29
Phace
14.01.10
✎
16:03
|
(26) это еще бОльший изврат.
Если ты не понимаешь разницу: в старом механизме (8.0/8.1) заполнение вычисляемой колонки происходило в обработчике "ПриВыводеСтроки()", теперь в 8.2 мне необходимо при открытии документа заполнять (причем программно) ВСЕ строки документа, а если документ, скажем инвентаризация, и содержит тысяч 10 строк? |
|||
|
30
kiruha
14.01.10
✎
16:15
|
(29)
А список отображаемых строк нельзя получить ? |
|||
|
31
kiruha
15.01.10
✎
04:18
|
Да и оказывается можно стандартно
добавлять вычисляемые поля типа "через ссылку"- Объект.Товары.Товар.Артикул |
|||
|
32
kiruha
15.01.10
✎
04:26
|
А сложные выражения в типовой УНФ например загоняют в реквизит объекта -
например Содержание. Правда не думаю что хранить в ТЧ строку длиной 100 это гууд |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |