УТП как приципить внешнию обработку в документ. для заполнение тч
☑
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) мда. не хочет мозг работать, тип не тот был у реквизита :)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший