Имя: Пароль:
1C
1С v8
Как выполнить программно внешнюю обработку заполнение табличной части
0 Kashton
 
26.11.12
11:04
Имеется документ, к нему прикручена внешняя обработка заполнение табличной части. Как программно обратиться к ней?
1 DrShad
 
26.11.12
11:05
обратиться-то можно, а вот выполнить не получится
2 DrShad
 
26.11.12
11:08
смысл ее без формы документа запускать?
3 Aprobator
 
26.11.12
11:09
(2) а зачем форма то нужна для заполнения табличной части?
4 shuhard
 
26.11.12
11:10
(0) открыть конфигуратор и найти, как это делает типовая уже предлагали ?
5 DrShad
 
26.11.12
11:11
(3) а ничего что туда передается таб поле?
6 mikecool
 
26.11.12
11:13
(5) это плохо )
7 Serg_1960
 
26.11.12
11:13
Вопрос, имхо, некорректный. Типа "Мягкое или тёплое - что мне выбрать?" Без обид :)
8 Aprobator
 
26.11.12
11:14
(5) туда и объект передается тоже, насколько я помню. Все зависит от того, как сама обработка заполнения табличной части прописана.
9 Aprobator
 
26.11.12
11:15
(7) чего некорректного то? Вопрос как использовать внешнюю обработку заполнения табличной части. Кстати, сумею использовать, даже не смотря типовой код )
10 Maxus43
 
26.11.12
11:15
(8) конечно, если уверен что в обработке не трогается таб поле - то делай, как в (4)
11 Maxus43
 
26.11.12
11:16
(9) да, люим изобретать велосипед, бывает
12 Serg_1960
 
26.11.12
11:17
(9) А вас не смущает, что внешняя обработка ТЧ "прикручивается"(тс) к форме, а не к документу? :))
13 DrShad
 
26.11.12
11:18
(12) прикручивается она как раз к документу
14 Aprobator
 
26.11.12
11:18
(11) да ладно. Использовать то надо типовые механизмы, тут никто не спорит. Я просто про понимание самого механизма использования. Дай уж выпендриться ). (12) - ни грамма.
15 Maxus43
 
26.11.12
11:19
>>Я просто про понимание самого механизма использования
дак просто в хранилище засунут файл, доставай да используй
16 Aprobator
 
26.11.12
11:20
(15) ну дык, а я про что ). ТС просто это не понимает, потому и спрашивает. Кстати, ТС, если интересно - могу показать.
17 Kashton
 
26.11.12
11:21
(16) Буду очень признателен
18 Aprobator
 
26.11.12
11:28
Лови. Только учти, это пример не точный. Поскольку структура справочника там более сложное, потому покопайся в типовых механизмах. И сработает только если заполнение ТЧ происходит без использования элементов формы, а именно 3 его параметра процедуры Инициализировать. Главное - понять саму идею.

ДанныеФайла = элмСправочникаЗаполнениеТЧ.ХранилищеВнешнейОбработки.Получить();
ВременныйФайл = ПолучитьИмяВременногоФайла("epf");
ДанныеФайла.Записать(ВременныйФайл);
ОбработкаЗаполнения = ВнешниеОбработки.Создать(ВременныйФайл);
ОбработкаЗаполнения.Инициализировать(ДокументОбъект, ИмяТч, Неопределено);
19 Serg_1960
 
26.11.12
12:06
Общий модуль УниверсальныеМеханизмы и смотреть процедуры и функции для заполнения ТЧ из внешних обработок. Ну,типа, ПолучитьДеревоКнопокЗаполненияТабличныхЧастей(),  ОбработатьНажатиеНаДополнительнуюКнопкуЗаполненияТЧ() и т.д.

(13) В типовых конфигарциях внешние обработки ТЧ всё-таки  "прикручиваются" через формы (имхо) - на это как бы намекает типовой алгорит:

...
  Попытка
     Обработка.Инициализировать(ЭтотОбъект, СтрокаКнопки.Родитель.Имя, СтрокаКнопки.Родитель.Расшифровка);
  Исключение
     ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(),, "Заполнение ТЧ не произведено!");
  КонецПопытки;
...
20 Aprobator
 
26.11.12
12:10
(19) в (13) про ... к чему прикручивается...., а не через что. Смысл механизма то без форм никакой. Тут кнопочка дорисовывается в правильном месте, ну и т.д.. А прикручен он все равно в объекту в первую очередь.
21 Serg_1960
 
26.11.12
12:30
Согласен. Сказал именно так, как сказал, потому что... ммм... очень часто спрашивают типа "Как обратиться к форме из внешней обработки?" и т.д. И как результат - во внешних обработках заполнения ТЧ очень часто используются без проверки методы чисто интерактивной работы с пользователем - "привет" автору от прогера, который путает понятия "к чему" и "через что" :))
22 Kashton
 
26.11.12
14:14
Спасибо парни, буду копать