Имя: Пароль:
1C
1C 7.7
v7: Автозаполнение колонок в табличной части документа(торговля 7.7)
0 Kapystin
 
07.08.15
09:53
Привет гуру.
Подскажите каким образом делается автозаполнение колонок в табличной части документа.
Ппри создании нового документа-в колонке выбираю Сотрудника--НУЖНО заполнить соседнюю колонку(ПОДРАЗДЕЛЕНИЕ) автоматически, из справочника Сотрудники-реквизит Подразделение.
1 HawkEye
 
07.08.15
09:55
РеквизитТекДокумента2 = РекТекДокумента1.РеквизитРеквизитаТекДокумента1
или как-то так:
Подразделение = Сотрудник.Подразделение


вопрос зачем? - не задаю, лениво.
2 Kapystin
 
07.08.15
09:59
спасибо, подскажите нужно ли создавать процедуру?
типа при изменении табличной части документа.
или можно в свойствах колонки(ПОДРАЗДЕЛЕНИЕ) указать и потом обновлять форму?

спасибо.
3 dka80
 
07.08.15
10:01
нужно создать процедуру и прописать ее вызов в колонке Сотрудник
4 Масянька
 
07.08.15
10:02
(2) Подсказываю: открой стандартную ТиС и посмотри, что, как и где работает.
Пожалуйста.
5 HawkEye
 
07.08.15
10:06
(2) можно создавать, можно не создавать, можно даже реквизит такой в таб.части документа не создавать все зависит от поставленных, "стратегических" целей.
6 Kapystin
 
07.08.15
10:08
(4) Смотрел ТиС, там в свойствах колонки указывается обращение к ГлПересчетТаблЧасти(Контекст,Форма.ТекущаяКолонка())

для меня тяжеловато)
7 Мимохожий Однако
 
07.08.15
10:09
(6)Если нет желания и знания, то надо либо приобрести знания, либо найти денег на спеца.
8 Kapystin
 
07.08.15
10:10
(5) научиться, пробую написать конфигурацию для себя.
9 HawkEye
 
07.08.15
10:10
(2) сво-во колонки Подразделение - тут не причем если это реквизит таб.части документа
10 HawkEye
 
07.08.15
10:12
(6) чего тут тяжелого.. после редактирования колонки вызывается процедура ГлПересчетТаблЧасти (из глобального модуля)

в нее передается контекст текущего документа - Контекст - чтобы можно было понять что за документ и обратится к его реквизитам
и колонка Форма.ТекущаяКолонка() - в которую отредактировали.
11 Мимохожий Однако
 
07.08.15
10:18
Не стесняйся. Показывай код, который начал использовать. Народ подскажет.
12 Kapystin
 
07.08.15
10:37
подскажите а как обойтись без глобальника?
база созданная мною, глобальник пуст, копировать глМодуль с рабочей базы---она вся модифицирована, начинает ругаться что нету КОНСТАНТ и ПЕРЕЧИСЛЕНИЙ.
можно ли в колонке ПОДРАЗДЕЛЕНИЕ прописать что-то типа Агент.Подразделение?(так пробовал не получилось)
Спасибо
13 Kapystin
 
07.08.15
10:41
предполагаю что ошибаюсь и процедуры нужно писать которая при изменении таблицы обновляет остальные колонки.
14 HawkEye
 
07.08.15
10:44
(12) можно
(12) писать надо не в колонке Подразделение, а в колонке Сотрудник
15 Масянька
 
07.08.15
10:45
(13) ПриНачалеРедактированияСтроки(), Процедура ПриОкончанииРедактированияСтроки() и подобное.
16 e2e4
 
07.08.15
10:48
(12) с какой среды на семерку переходишь? тут свой подход, это не VB, или Дельфи.
Что касается (0), то HawkEye уже дважды подсказал. Разжевываем - в свойствах колонки Сотрудник, на вкладке Дополнительно, в поле Формула, пишешь: ИмяМоейПроцедуры()
А в модуле формы пишешь саму процедуру.
17 Kapystin
 
07.08.15
10:56
вот стыдоба.
спасибо
18 e2e4
 
07.08.15
11:02
+ а можешь вообще без процедуры обойтись - написать (1) прямо там (в Формула; даже если надо не одну строчку, а несколько - тоже можно, разделяя ";")
19 Масянька
 
07.08.15
11:03
(17) "Учись, студент!" (С) :))))))))))