УТ 11.4.13.280. Есть Документ Заказ клиента в расширении. На форму добавлена кнопка заполнения обеспечения.Необходимо заполнить обеспечение по добавленной колонке табличной части Товары КоличествоТСД, а не по колонке Количество.

```1c
    &НаКлиенте
    Процедура ОтгрузитьПосле(Команда) Экспорт

    ПараметрыЗаполнения = Новый Структура;
    ПараметрыЗаполнения.Вставить("ЗаполнятьЦелымиУпаковками", Ложь);
    ПереченьВариантов = Новый Массив;
    ПереченьВариантов.Добавить(ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.Требуется"));
    ПереченьВариантов.Добавить(ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.Отгрузить"));
    ПереченьВариантов.Добавить(ПредопределенноеЗначение("Перечисление.ВариантыОбеспечения.ОтгрузитьОбособленно"));
    ПараметрыЗаполнения.Вставить("ПереченьВариантов", ПереченьВариантов);

    // Все строки
    МассивСтрок = Новый Массив;
    Для Каждого Тек Из Объект.Товары Цикл
    МассивСтрок.Добавить(Тек.ПолучитьИдентификатор());
    //МассивСтрок.Установить(..Установить(Количество,Тек.КоличествоТСД);
    КонецЦикла;

    Детали = об_ЗаполнитьОбеспечениеВУстановленномПорядке(ПараметрыЗаполнения, МассивСтрок);
    Если Детали.Ошибки <> Неопределено Тогда
    ОчиститьСообщения();
    ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Детали.Ошибки);
    Возврат;
    Иначе
    ПоказатьОповещениеПользователя(ОбеспечениеКлиентСервер.ТекстЗаполнениеОбеспечения(), , Детали.Оповещение);
    СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);
    КонецЕсли;

    ПараметрыЗаписи = Новый Структура;
    ПараметрыЗаписи.Вставить("РежимЗаписи", РежимЗаписиДокумента.Проведение);
    Записать(ПараметрыЗаписи);

    КонецПроцедуры

    &НаСервере
    Функция ЗаполнитьОбеспечениеВУстановленномПорядке(ВыбранноеЗначение, обМассивСтрок = Неопределено)

    ПараметрыЗаполнения = Новый Структура("ПереченьВариантов, ИзменятьОбособление, ЗаполнятьЦелымиУпаковками", Неопределено, Истина, Ложь);
    ЗаполнитьЗначенияСвойств(ПараметрыЗаполнения, ВыбранноеЗначение);
    ПутиКДанным = Новый Соответствие; //Описание особенностей формы
    ПутиКДанным.Вставить("ДатаОтгрузкиРабот", "ДатаОтгрузки"); // дату отгрузки работ необходимо брать из поля "Дата отгрузки".
    ПараметрыДокумента = Новый Структура;
    ПараметрыДокумента.Вставить("СтатусКВыполнению", Объект.Статус <> Перечисления.СтатусыЗаказовКлиентов.НеСогласован);
    ПараметрыДокумента.Вставить("ГруппаСкладов", Объект.Склад);
    ПараметрыДокумента.Вставить("МенеджерРегистра", РегистрыНакопления.ЗаказыКлиентов);
    ПараметрыДокумента.Вставить("ПутиКДанным", ПутиКДанным);
    //ТЗ = Объект.Товары.Выгрузить();

    Таблица = ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения(
    ?(обМассивСтрок = Неопределено, Элементы.Товары.ВыделенныеСтроки, обМассивСтрок), Объект, Объект.Товары,ПараметрыЗаполнения,ПараметрыДокумента);

    Если ТипЗнч(Таблица) <> Тип("ТаблицаЗначений") Тогда
    Возврат Новый Структура(
    "Ошибки",
    ОбеспечениеКлиентСервер.ОшибкиКонтроляОтгрузкиИОбеспечения(
    Таблица, "Товары", НСтр("ru = 'Товары'")));
    КонецЕсли;

    // Перенос результатов в документ.

    ТекстОповещения = Документы.ЗаказКлиента.ЗаполнитьВариантОбеспечения(
    Объект, ЭтаФорма, "СтрокиТовары", Таблица, ПараметрыУказанияСерий, ЗависимыеРеквизиты());

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

    РассчитатьИтоговыеПоказателиЗаказа(ЭтаФорма);

    Возврат Новый Структура("Ошибки, Оповещение", Неопределено, ТекстОповещения);

    КонецФункции
```
---
либо лепить костыли - например, "бэкапить" Количество
Костыли помогли.
Возможно ли из общего модуля расширения вызвать исполнение команды на форме добавленной в расширение и как это сделать?
---
НеобходимоДа быть такого не может.
---
заполнение не получается ?
---
Заполнение работает с таким кодом. Нет идеи как заменить колонку Количество в табличной части Товары на колонку КоличествоТСД, добавленную в расширение, чтобы в отгрузку попадал товар из колонки КоличествоТСД.
---
Следует посмотреть, как заполнение делается в модуле менеджера документа "Заказ клиента" в функции "ЗаполнитьВариантОбеспечения".
---
Следует посмотреть, как заполнение делается в модуле менеджера документа "Заказ клиента" в функции "ЗаполнитьВариантОбеспечения".
Так же, как в этом коде. Код рабочий. Вопрос в другом, как в проверку обеспечения загрузить данные из колонки, добавленной в расширение.
---
как в проверку обеспечения загрузить данные из колонки, добавленной в расширение А в чем сложность? Вот эти ссылки смотрели?

https://forum.infostart.ru/forum9/topic207271/
https://forum.infostart.ru/forum9/topic244367/
---
Проблема не с доступом к значению в расширении.
Таблица = ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения(
        ?(обМассивСтрок = Неопределено, Элементы.Товары.ВыделенныеСтроки, обМассивСтрок), Объект, Объект.Товары,ПараметрыЗаполнения,ПараметрыДокумента);
Проблема в том, как заменить в Табличной части
```1c
    Объект.Товары
```
 значения колонки
```1c
    Количество
```
 на значения
```1c
    КоличествоТСД
```
 отправить это в процедуру
```1c
    ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения
```
.
---
отправить это в процедуру

ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения Напрямую, "в лоб" - никак: типовая процедура понятия не имеет о том, что вы там надобавляли в табличную часть и ей это глубоко пофиг.

Так что надо либо менять код этой процедуры (возможно, тоже в расширении), либо лепить костыли - например, "бэкапить" Количество (добавить еще одну колонку КоличествоИсходное и копировать в нее Количество), перед вызовом ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения копировать все значения КоличествоТСД в Количество, вызывать процедуру, а после ее завершения - восстанавливать Количество из КоличествоИсходное.

Да, коряво, но другого пути я не вижу - разумеется, кроме модификации кода ОбеспечениеСервер.ТаблицаЗаполнениеОбеспечения.
---
либо лепить костыли - например, "бэкапить" Количество
Костыли помогли.
Возможно ли из общего модуля расширения вызвать исполнение команды на форме добавленной в расширение и как это сделать?
---
я не знаю такой возможности, можно вызвать экспортные процедуры и функции модуля объекта (если объект передается в общий модуль, примерно так Объект.ИмяЭкспортнойПроцедуры()) или менеджера (Документы.ЗаказКлиента.ИмяЭкспортнойПроцедуры())
---
можете попробовать ради интереса - если у вас передаётся форма вызвать Форма.ИмяЭкспортнойПроцедуры()
---
Тут и пробовать нечего. Будет ошибка "интерактивные операции недоступны". Нужна какая то обертка, чтобы извратиться.
---
вообще в формах есть экспортные процедуры, но это как правило процедуры завершения, которые указаны в ОписаниеОповещения() и они на клиенте - возможно такое вам подойдёт