![]() |
![]() |
![]() |
|
Ошибка при заполнении табличной части через внеш.обработку | ☑ | ||
---|---|---|---|---|
0
Irbis05
03.08.12
✎
08:15
|
Здраствуйте, помогите пожалуста разобраться. Я делаю внешнюю обработку табличной части для документа данные берутся из справочника. Такую вещь я делаю в первый раз. В процедуре инициализации написал код, в режиме предприятия зарегистрировал обработку, однако, в процессе работы выдает ошибку о том, что: Заполнение ТЧ не произведено!
Поле объекта не обнаружено (ТаблицаЦен). При регистрации обработки табличная часть как раз прописана как "таблица цен". Помогите пожалуйста разобраться, только не надо посылать на Радченко или Гугл это я уже прошел. |
|||
1
Фокусник
03.08.12
✎
08:19
|
(0) Покажи код, где ТаблицаЦен
|
|||
2
Irbis05
03.08.12
✎
08:33
|
Вот код. Вызываемая форма открывается, ошибка выходит когда я выбираю какую-то папку.
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт Форма = Справочники.Номенклатура.ПолучитьФормуВыбораГруппы(); Группа = Форма.ОткрытьМодально(); Если Группа = Неопределено Тогда Возврат; КонецЕсли; Объект[ИмяТабличнойЧасти].Очистить(); Выборка = Справочники.Номенклатура.Выбрать(Группа); Пока Выборка.Следующий() Цикл Если Выборка.ЭтоГруппа Тогда Продолжить КонецЕсли; СтрокаТабличнойЧасти = Объект[ИмяТабличнойЧасти].Добавить(); СтрокаТабличнойЧасти.Номеклатура = Выборка.Ссылка; КонецПроцедуры Что касается Таблицы цен, то тут я не до конца все понял: в конфигураторе на форме документа она не нарисована, а вызывается программно во время работы в режиме предприятия |
|||
3
Фокусник
03.08.12
✎
08:37
|
(2) Если ТЧ не ТаблицаЦен, то заполнить таким образом: Объект[ИмяТабличнойЧасти].
Обрати внимание на параметр ТабличноеПоле в Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) возможно, там и будет твоя "ТаблицаЦен" ? |
|||
4
Irbis05
03.08.12
✎
10:33
|
(3) При регистрации задается имя "Таблица цен", попробовал поменять, но там других нет. Я попробовал обратится Объект[ИмяТабличнойЧасти].Цена и др. Не помогло тоже самое. Еще мне не совсем понятно как обработать параметр ТабличноеПоле и какие операции с ним проводить. Насколько я понял по коду документа секция "таблица цен" заполняется программно, и как к ней обратиться что-бы с ней можно было работать в моей обработке я непойму.
|
|||
5
Фокусник
03.08.12
✎
15:33
|
(4) Данные находятся в ТабличноеПоле.Значение
|
|||
6
Irbis05
03.08.12
✎
15:42
|
Я тут все проверял, делал ТочкуОстанова. Оказалось что "процедура инициализации" скорее всего просто не может получить "параметр объект": поставил точкуоставнова прямо напротив "процедура инициализации" - вылетает раньше. Однако когда для примера вывожу простое статус сообщение: Сообщить("Работает",СтатусСообщения.Важное);. Сообщение выдает, что это?
|
|||
7
hhhh
03.08.12
✎
15:46
|
(6) в конфе найдите слово "Инициализировать", и поставьте там точку останова.
|
|||
8
Фокусник
03.08.12
✎
15:46
|
(6) Поставь там: Сообщить(Объект)
|
|||
9
Irbis05
03.08.12
✎
15:53
|
Я конечно извиняюсь, но конфе - это в смысле на форме необходимого документа. Если так то, тогда я нигде ничего не прописывал. Не знал что что-надо писать в конфигурации, подскажите где конкретно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |