Есть конфигурация УТ 11.4, платформа 8.3.17.

Требуется, чтобы в документе "Заказ клиента", когда вызывается подбор по товару, добавить колонку "ЕдиницаДляОтчетов". (см. рис. 1)

Для этого я:

1) Создал расширение вида "Адаптация"
2) Сбросил у него флажки "Безопасный режим" и "Защита от опасных действий"
3) Добавил в расширение обработку "ПодборТоваровВДокументПродажи"
4) В ней добавил в расширение реквизит "СписокНоменклатура"
5) У этого реквизит в запрос добавил "СправочникНоменклатура.ЕдиницаДляОтчетов КАК ЕдиницаДляОтчетов,"
6) Перетащил поле "ЕдиницаДляОтчетов" на форму (рис. 2)
7) Обновил конфигурацию базы данных клавишей F7.

Но это поле всё равно не отображается.

Что я делаю нет так?
---
Ну тогда просто перенесите процедуру из формы выбора номенклатуры в форму обработки
---
Спасибо! Всё работает. А это интересная идея создавать программным путём:

```1c
    &НаСервере
    Процедура DWZ_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    НовЭлемент = Элементы.Вставить("ЕдиницаДляОтчетов2", Тип("ПолеФормы"), Элементы.СписокРасширенныйПоискНоменклатура,
    Элементы.СписокРасширенныйПоискНоменклатураАртикул);
    НовЭлемент.Вид = ВидПоляФормы.ПолеНадписи;
    НовЭлемент.ПутьКДанным = "СписокНоменклатура.ссылка.ЕдиницаДляОтчетов";
    НовЭлемент.Заголовок = "Единица отчетов";
    НовЭлемент.Видимость = Истина;

    КонецПроцедуры
```
---
Зайдите в меню Еще/изменить форму встаньте на поле Ссылка, нажмите на зеленый плюсик ,выберите нужное поле,
для решения вашей задачи даже в конфигуратор заходить не надо
---
Не пойдёт. Нужно именно через расширение.

К тому же и тут интересно получается:

1) Добавил в режиме "1С-Предприятие", как Вы и говорили - реквизит есть.
2) Убираю его в режиме "1С-Предприятие", добавляю в Конфигураторе в расширение, запускаю - его нет.
3) Сбрасываю настройки формы - всё равно нет. В "Печатных формах" показывается, что расширение подключено.
4) Захожу под другим пользователем с правами на закупки - всё равно нет реквизита.

В чём дело? Прав каких-то не хватает? Или БСП гадит? Или что?
---
В запросе уже выбраны все поля ,вам нужна не обработка, а форма выбора номенклатуры, посмотрите модуль формы
---
Не работает, да и Информация для технического специалиста говорит, что используется обработка "ПодборТоваровВДокументПродажи"
---
Ну тогда просто перенесите процедуру из формы выбора номенклатуры в форму обработки
---
Спасибо! Всё работает. А это интересная идея создавать программным путём:

```1c
    &НаСервере
    Процедура DWZ_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    НовЭлемент = Элементы.Вставить("ЕдиницаДляОтчетов2", Тип("ПолеФормы"), Элементы.СписокРасширенныйПоискНоменклатура,
    Элементы.СписокРасширенныйПоискНоменклатураАртикул);
    НовЭлемент.Вид = ВидПоляФормы.ПолеНадписи;
    НовЭлемент.ПутьКДанным = "СписокНоменклатура.ссылка.ЕдиницаДляОтчетов";
    НовЭлемент.Заголовок = "Единица отчетов";
    НовЭлемент.Видимость = Истина;

    КонецПроцедуры
```
---
Способ (2) сработает, для случая, когда вам нужен именно этот реквизит, но если понадобится что-то еще, то не вариант. В данной форме, текст запроса "СписокНоменклатуры" переопределяется в модуле, там 2, один для расширенного поиска, один для обычного (если я правильно помню) и соответственно, изменение текста запроса в реквизите "СписокНоменклатура" не поможет. Нужно дописывать эти запросы, вручную добавлять элементы в этот список "Реквизит таблицы" или как они там называются, и выводить на форму. Но для "Единица для отчетов" проще через изменить форму, а потом скопировать настройки формы всем, кому это нужно.
---
Нужно дописывать эти запросы, вручную добавлять элементы в этот список "Реквизит таблицы" или как они там называются, и выводить на форму.

Это уже теплее. А можно поподробнее?
---
А уверены, что СписокСтандартныйПоискНоменклатура?
На скрине СписокРасширенныйПоискНоменклатура.
---
Ставил и туда - не помогло
---
Если совсем заморачиваться, то запрос строится в
```1c
    ПодборТоваровСервер.ТекстЗапросаСпискаФормыПодбора
```
.
Но если проще, то можно процедуры, где он переопределяется, типа
```1c
    ИспользоватьФильтрыПриИзмененииНаСервере()
```
 и

```1c
    ВидНоменклатурыПриИзмененииНаСервере()
```
, Ну еще и при создании, и еще где понадобится добавить свой код, где вы часть запроса меняете на другое, например
```1c
    СписокНоменклатура.ТекстЗапроса = СтрЗаменить(СписокНоменклатура.ТекстЗапроса,"СправочникНоменклатура.Ссылка КАК Ссылка,", "СправочникНоменклатура.Ссылка КАК Ссылка, "Тут дописываем все поля которые хотим вытащить и как хотим вытащить")
```
 Ну или каким-нибудь другим способом. Как удобнее. Но это мы добавили поля только в запрос, а нужно их добавить еще в реквизит формы "СписокНоменклатуры" собственно и добавляем в этот дин список "Добавить реквизит колонки". А потом его выводим на форму. Через расширение это все безболезненно делается. Ну или не добавлять реквизит колонки, а просто в самом списке переписать запрос, как вы и сделали, но в любом случае, Если вы поставите точку останова, то увидите, что текст запроса в списке не совпадает с тем, что написали вы.
---
А где бы про всё это прочитать поподробнее?
---
На курсах ... сами знаете где... ссылку не дадут опубликовать
---
Спасибо!
---
Методом тыка и опытным путём.