Имя: Пароль:
1C
1С v8
УТП как приципить внешнию обработку в документ. для заполнение тч
0 zladenuw
 
16.05.13
11:42
Хочу сделать обработку при вызове которой заполнялась табличная часть документа с источника.

Хочу возможность выбора типа документа и сам документ.
Есть какая то особенность для внешних обработок для тч ?

Не делал раньше такого. по этому спрашиваю :)
1 Джинн
 
16.05.13
11:44
Русский язык не пробовали учить? Стыдно должно быть...

"приципить", "по этому"
2 zmaximka
 
16.05.13
11:45
в справочнике "внешние обработки" нажми f1. там описаны требования к внешним обработкам
3 viktor_vv
 
16.05.13
11:45
Да нету там никаких особенностей.
Появится в меню кнопки Заполнить над табличной частью. Ну разве сто для выбора Типа документа и документа источника надо будет форму наваять и из модуля открыть.
4 zladenuw
 
16.05.13
11:48
спасибо
5 zladenuw
 
16.05.13
12:55
что то делаю не так.
в модуле обработки добавил
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
   СсылкаНаОбъект = Объект;    
   Форма = ЭтотОбъект.ПолучитьФорму("форма", Объект);
   Форма.ОткрытьМодально();
   
КонецПроцедуры

в модуле формы

Процедура КнопкаВыполнитьНажатие(Кнопка)
   ТчТовары = СсылкаНаОбъект.Товары;
   ТчТоварыИсточник = ДокументИсточник.Товары;
   ТчТовары.Загрузить(ТчТоварыИсточник.Выгрузить());
КонецПроцедуры

Процедура ТипДокументаПриИзменении(Элемент)
   Если ЗначениеЗаполнено(ТипДокумента) Тогда
       ЭлементыФормы.ДокументИсточник.Доступность = Истина;
       ЭлементыФормы.ДокументИсточник.ВыбиратьТип = Ложь;
       Массив = Новый Массив;
       Массив.Добавить(Тип("ДокументСсылка."+ТипДокумента));
       ОписаниеТиповС = Новый ОписаниеТипов(Массив,,);
       ЭлементыФормы.ДокументИсточник.ОграничениеТипа = ОписаниеТиповС;
       ЭлементыФормы.ДокументИсточник.Данные = Документы[ТипДокумента].пустаяссылка();
       ЭлементыФормы.ДокументИсточник.ТипЗначения = ОписаниеТиповС;
   КонецЕсли;
КонецПроцедуры


ТипыДокументов = Новый Массив;
ТипыДокументов.Добавить(Метаданные.Документы.ПоступлениеТоваровУслуг.Имя);
ТипыДокументов.Добавить(Метаданные.Документы.ОприходованиеТоваров.Имя);
ТипыДокументов.Добавить(Метаданные.Документы.ПеремещениеТоваров.Имя);
ТипыДокументов.Добавить(Метаданные.Документы.РеализацияТоваровУслуг.Имя);

ЭлементыФормы.ТипДокумента.СписокВыбора.ЗагрузитьЗначения(ТипыДокументов);

но пишет ошибку .
{Форма.Форма.Форма(3)}: Значение не является значением объектного типа (Товары)
   ТчТовары = СсылкаНаОбъект.Товары;
Чего ей не нравиться ?
6 zladenuw
 
16.05.13
13:09
(5) мда. не хочет мозг работать, тип не тот был у реквизита :)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший