|
Внешняя обработка заполнения табличной части не заполняет | ☑ | ||
---|---|---|---|---|
0
newbling
07.07.16
✎
19:22
|
Доброго времени суток. 8.2 обычное приложение. Обработка спрашивает группу номенклатуры и должна добавлять номенклатуру из это группы в таб часть установки цен номенклатуры. Код отрабатывает, если спрашивать количество полученной номенклатуры, то говорит, модифицированность у объекта встаёт, а таб часть не меняется.
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт; ФормаЗаполненияГруппы = ЭтотОбъект.ПолучитьФорму("Форма"); Группа = ФормаЗаполненияГруппы.ОткрытьМодально(); // возвращает группу номенклатуры Если ЗначениеЗаполнено(Группа) Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) | И НЕ Номенклатура.ПометкаУдаления"; Запрос.УстановитьПараметр("Группа", Группа); РезультатЗапроса = Запрос.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл СтрокаТабличнойЧасти = Объект.Товары.Добавить(); СтрокаТабличнойЧасти.Номенклатура = РезультатЗапроса.Ссылка; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
1
newbling
07.07.16
✎
19:26
|
да, и ещё странно, что не получается к таб части обратиться через Объект[ИмяТабличнойЧасти]
|
|||
2
newbling
07.07.16
✎
19:37
|
Табличная часть - "Товары"
имя табличной части на форме - "ТаблицаЦен" я так понимаю, по этому не получается в неё загрузить. |
|||
3
hhhh
07.07.16
✎
19:59
|
(2) так там таблица значений на форме у вас
|
|||
4
newbling
07.07.16
✎
20:01
|
да, там на форме таблица значений - "ТаблицаЦен"
Как к не обратиться из внешней обработки не пойму. |
|||
5
newbling
07.07.16
✎
20:02
|
Она реквизит формы
|
|||
6
newbling
07.07.16
✎
20:03
|
Да, понятно почему не заполняется в общем-то. До меня дошло, что Товары и ТаблицаЦен не связаны. Тогда остаётся вопрос как из внешней обработки обратиться к реквизиту формы и заполнить его
|
|||
7
newbling
07.07.16
✎
20:11
|
В общем, решил проблему так - несколько топорно, но отрабатывает:
Процедура Инициализировать(Объект, ИмяТабличнойЧасти, ТабличноеПоле) Экспорт; ФормаЗаполненияГруппы = ЭтотОбъект.ПолучитьФорму("Форма"); Группа = ФормаЗаполненияГруппы.ОткрытьМодально(); Если ЗначениеЗаполнено(Группа) Тогда ФормаТекОбъекта=Объект.ПолучитьФорму("ФормаДокумента"); Если ФормаТекОбъекта.Открыта() Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) | И НЕ Номенклатура.ПометкаУдаления | И НЕ Номенклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("Группа", Группа); РезультатЗапроса = Запрос.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл СтрокаТабличнойЧасти = ФормаТекОбъекта[ИмяТабличнойЧасти].Добавить(); СтрокаТабличнойЧасти.Номенклатура = РезультатЗапроса.Ссылка; КонецЦикла; КонецЕсли; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |