- На всякий случай работаем так:
- Внешняя Обработка
- 1С 8.3 Бух 3.0
- Отладка через Толстый клиент
Открытие №1 Таблица Значений и Табличная часть НЕ одно и то же.
2. Окно Форма / Закладка Элементы - тут Имя у всех реквизитов уникальное.
- Закладка Реквизиты:
- Табличная часть (см. под Объектом ) , можно добавить несколько через основное окно.
- Таблиц Значений тут может быть много
Из Закладки Реквизиты таскаем объекты на Форму.
Теперь главное "Таблица Значений" и "Табличная часть" ПРОГРАММНО заполняются &НаСервере. ИНТЕАКТИВНО заполняюся через визуальные формы &НаКлиенте.
Проблема в том, что заполнив программно &НаСервере , надо еще отобразить как-то &НаКлиенте [на Форме] (само ничего не отображается).
Для этого в процедуре &НаСервере ОБЯЗАТЕЛЬНО вначале применяем :
реквизитОбъект = РеквизитФормыВЗначение("Объект");
// для табличной части, т.к.
//табличная часть входит в Объект:
реквизитТаблицаЗначений1=РеквизитФормыВЗначение("тз0");
// а это для таблиц значений, самостоятельных ,
// не принадлежащих Объекту
тут &НаСервере работаем с данными , читаем , изменяем ....
в конце &НаСервере не забываем обновить отображение на форме:
ЗначениеВРеквизитФормы(реквизитТаблицаЗначений1,"тз0");
ЗначениеВРеквизитФормы(реквизитОбъект, "Объект");
Скопировать()
В середине кода &НаСервере заполняем:
допустим некая таблица значений тз1 создана в памяти на сервере, ее можно записать в таблицу значений на форме
реквизитТаблицаЗначений1 = тз1 .Скопировать(); // будут скопированы все колонки таблицы значений, но Колонки в реквизитТаблицаЗначений1 должны быть проименованы уже как в тз1.
С табличной частью такое не проходит , тут надо заполнять построчно через тч1.добавить();
Наименование колонок на Форме и в Объекте на сервере должны совпадать. Если наименования колонок не сходятся , то ЗначениеВРеквизитФормы(реквизитТаблицаЗначений1,"тз0") - выдаст ошибку и вы долго , как и я будете думать что ЗначениеВРеквизитФормы не работает!