arefaste/1C_Forums huggingface dataset:
Добрый день! Помогите, пожалуйста, решить ошибку в отчёте на СКД. Отчёт выводит количество и сумму из табличной части документа, умноженные на количество строк этой табличной части.
Выбираю номенклатуру, количество и сумму из табличных частей, помещаю во временную таблицу, после чего объединяю её с другой временной таблицей, в которую выбираю движения по хозрасчётному регистру бухгалтерии. Связываю таблицы левым соединением по по номенклатуре и регистратору. Группировок в запросе нет, заполняю ресурсы.
Подскажите, пожалуйста, что я делаю не так?
---
Добавить в тЦены поле номенклатуры.
В последнем запросе соединяться еще и по номенклатуре.
---
консоль запросов открой и посчитай строчки на косяке похоже проблема в соединениях или их связях.
---
а текст запроса ?
---
ВЫБРАТЬ
 тТовары.Количество КАК Количество,
 тТовары.Номенклатура,
 тТовары.Сумма КАК Сумма,
 тТовары.СуммаНДС КАК СуммаНДС,
 тТовары.Ссылка,
 тТовары.Ссылка.СуммаВключаетНДС
ПОМЕСТИТЬ тУслуги
ИЗ
 Документ.РеализацияТоваровУслуг.Товары КАК тТовары
ГДЕ
 тТовары.Ссылка.Проведен
 И тТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
 тТовары.Количество,
 тТовары.Номенклатура,
 тТовары.Сумма,
 тТовары.СуммаНДС,
 тТовары.Ссылка,
 тТовары.Ссылка.СуммаВключаетНДС
ИЗ
 Документ.ОтчетОРозничныхПродажах.Товары КАК тТовары
ГДЕ
 тТовары.Ссылка.Проведен
 И тТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 проводки.Сумма КАК Сумма,
 проводки.Регистратор,
 проводки.СубконтоКт1 КАК Номенклатура
ПОМЕСТИТЬ тСС
ИЗ
 РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(&ДатаНач {(&ДатаНач)}, &ДатаКон {(&ДатаКон)}, СчетКт В ИЕРАРХИИ (&СчетКт), , ) КАК проводки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ЕСТЬNULL(тСС.Сумма, 0) КАК СС,
 ЕСТЬNULL(тСС.Сумма, 0) / тУслуги.Количество КАК Цена,
 тСС.Регистратор
ПОМЕСТИТЬ тЦены
ИЗ
 тУслуги КАК тУслуги
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ тСС КАК тСС
  ПО тУслуги.Ссылка = тСС.Регистратор
   И тУслуги.Номенклатура = тСС.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 тУслуги.Номенклатура,
 тУслуги.Количество КАК Количество,
 тУслуги.СуммаНДС КАК СуммаНДС,
 тУслуги.Количество * тЦены.Цена КАК СуммаСС,
 тУслуги.Ссылка.Контрагент КАК Контрагент,
 тУслуги.Ссылка КАК Документ,
 тЦены.СС,
 тУслуги.Сумма - ВЫБОР
  КОГДА тУслуги.СуммаВключаетНДС
   ТОГДА тУслуги.СуммаНДС
  ИНАЧЕ 0
 КОНЕЦ КАК Сумма,
 тУслуги.СуммаВключаетНДС
ИЗ
 тУслуги КАК тУслуги
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ тЦены КАК тЦены
  ПО тУслуги.Ссылка = тЦены.Регистратор
---
Добавить в тЦены поле номенклатуры.
В последнем запросе соединяться еще и по номенклатуре.
---
Спасибо, это то, что нужно!
Добрый день. У меня есть расширение в конфигурации БП 3.0. мне нужно переопределить субконто в плане счетов на справочник, который есть только в расширении. Как это сделать? Все виды значений субконто определены в плане видов характеристик "ВидыСубконтоХозрасчетные". В расширении тип переопределять нельзя. Конфигурацию с поддержки снимать нельзя.
---
Так может не изобретать велосипед и поискать уже переделанную бухию? Ибо самому, да еще и на расширениях... Тут ведь не только один вид субконто переделать.
---
нужноТочно? Точно-точно нужно? Именно тебе? Или это просто очередная хотелка .... не совсем адекватного буха?
А как ты при этом собираешься обеспечивать работоспособность все остального, завязанного на плане счетов? Уверен, что баланс и приложения к нему не покорежатся? А также все прочие отчеты и отчетики?
---
Сам не в восторге от таких задач. Суть в чём - БП 3.0 хотят юзать для бухгалтерии кооператива. Счета учёта кооператива не подходят под обычные проводки.
---
Так может не изобретать велосипед и поискать уже переделанную бухию? Ибо самому, да еще и на расширениях... Тут ведь не только один вид субконто переделать.
---
Да, пожалуй вы правы)
---
может тут надо свой план счетов создавать.........
Здравствуйте!
На платформе 8.3.15.1778 Элемент.ТекущиеДанные в процедуре ПриАктивизацииСтрокиСписка возвращает значение неопределено.

на платформе 8.3.16.1063 возвращает ДанныеФормыСтруктуры.

Все НаКлиенте.
Почему перестало работать, куда копать, подскажите, пожалуйста.
---
Там отбор стоит такой, что список пустой. соответственно данных нет.
Полагаю, что нужно проверку ставить на Неопределено.
---
на платформе 8.3.16.1063 возвращает ДанныеФормыСтруктуры.
Попробуйте обновиться до актуальной версии платформы.
---
Попробуй вместо
```1c
    Элемент.ТекущиеДанные
```
 использовать

```1c
    Элементы.Таблица.ТекущиеДанные
```
---
тоже самое
---
потому что вы открываете форму нового элемента в котором таблица пустая?
---
я открываю список, он не пустой
---
да, вы правы. Там отбор стоял такой, что таблица оказалась пустая.
Но как обойти эту ошибку?
---
Проверять на Неопределено.
В ПриАктивизацииСтроки Неопределено это обычная ситуация.
---
Неопределено обычно возвращает когда строка не выделена в таблице.
---
почему в файловой версии выделяется строка, а в серверной нет? как ее программно выделить?
---
синтаксис помощник о чем говорит? все также как и 8.3.15.1778?
---
ситуация оказалась даже сложнее.
У меня в файловой версии работает на той же платформе, а на сервере нет.
Не пойму в чем дело. как будто выделенная строка кэшируется и передается в файлово версии, а в серверной нет...
---
Там отбор стоит такой, что список пустой. соответственно данных нет.
Полагаю, что нужно проверку ставить на Неопределено.
Добрый день.
Как передать данные в параметр в Источнике и как параметр получить в приемнике?
В приемнике нет такого реквизита, по этому параметру будет заполняться другой реквизит. Что сделано: выставлен ЧекБокс - Передавать данные в параметр, задано имя параметра - ВидРасчетов.
Что делать дальше? Какие обработчики нужно заполнить?
---
в ПКО в событии ПослеЗагрузки можно выловить ваш параметр и записать в объект:

```1c
    Если ПараметрыОбъекта <> Неопределено Тогда
    МойПараметрВидРасчетов = ПараметрыОбъекта["ВидРасчетов"];
```
---
в ПКО в событии ПослеЗагрузки можно выловить ваш параметр и записать в объект:

```1c
    Если ПараметрыОбъекта <> Неопределено Тогда
    МойПараметрВидРасчетов = ПараметрыОбъекта["ВидРасчетов"];
```
---
(2) Если ПараметрыОбъекта <> Неопределено Тогда
    МойПараметрВидРасчетов = ПараметрыОбъекта["ВидРасчетов"];

Я так пробовал, но в значение приходит вот что: {"#",4238019d-7e49-4fc9-91db-b6b951d5cf8e,¶{1,¶{¶{"S","ВидРасчетов"},¶{"U"}¶}¶}¶}.
Что я не так делаю? Может перед выгрузкой что-то забыл указать?
---
у вас не задано правило конвертации.
---
Если это ссылочный тип нужно написать для него правило.
---
Да, тип ссылочный, но в базе приемнике нет такого реквизита, как для него написать правило, собственно поэтому я и решил передать значение в параметр
---
А как тогда планируете использовать эту информацию в приемнике?
---
На основании этого параметра (Вид взаиморасчетов) буду заполнять другое поле, счет расчетов
---
это в пределах одного ПКО ? Думаю нет необходимости городить параметры.
---
Да, ПКО - РасходныйКассовыйОрдер. Не соображу как мне на стороне Приемника получить тогда значение Вид взаиморасчетов?
---
ну а в чем проблема то?
Создаете ПКС, Источник пусто, Приемник "Счет расчетов".
В событии "Перед выгурзкой" пишите код
Если Источник.ВидВзаиморасчетовСПодотчетник = Перечисления.такоетоЗначение Тогда
Значение = ПланыСчето.Хозрасчетный.такойтоСчет
---
В принципе оно примерно так и было настроено, только этот реквизит передавался в комментарий, а в обработчике ПКО ПослеЗагрузки обрабатывался. Такой способ иногда давал сбой, поэтому и хочу переделать.
В приемнике СчетРасчетов появляется не сразу, сначала нужно выбрать ВидОперации итд. тоже не удобно.
---
ВидОперации также надо обрабатывать при конвертации
---
А сам параметр определили?
---
Нет, а где я это должен сделать? Можно подробней описать
---
это глобальные параметры, вам это не надо.
---
Скрин я для чего прицепил? просто так? там видно где задать параметры.
---
Параметр определил

В приемнике пытаюсь отловить следующим образом:
Если ПараметрыОбъекта <> Неопределено Тогда
     МойПараметрВидРасчетов = ПараметрыОбъекта["ВидРасчетов"];
 КонецЕсли;
ПараметрыОбъекта - Неопределено
---
В общем сделал так, может кому пригодится, файлы ниже:
В обработчике ПКС ПередВыгрузкой
Значение=Источник.ВидВзаиморасчетовСПодотчетником.Наименование;

И как подсказал 2. ZergKRSK - В ПКО ПослеЗагрузки:
Если ПараметрыОбъекта <> Неопределено Тогда
    МойПараметрВидРасчетов = ПараметрыОбъекта["ВидРасчетов"];
КонецЕсли;

Всем спасибо.
---
а как значение получить из табличной части?
---
Разобрался необходимо вместо Источник написать ОбъектКоллекции
Прошу помочь с кодом, задача состоит в том, что бы в документе "заказ покупателя" в поле ответственный ставилось имя пользователя, который нажимает кнопку провести.
УНФ 1.6.18
---
В модуле объекта документа "Заказ покупателя" в процедуру ПередЗаписью() пишем:

```1c
    ОсновнойОтветственный = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(
    Пользователи.ТекущийПользователь(),
    "ОсновнойОтветственный");

    Если ЗначениеЗаполнено(ОсновнойОтветственный) Тогда
    Ответственный = ОсновнойОтветственный;
    КонецЕсли;
```
---
В справочнике пользователей необходимо указать физ.лицо, оно будет вставляться при вводе нового. Для изменения ответственного при проведении требуется при записи (если режим проведения истина) добавить строку примерно такую обьект.ответственный = параметрысеанса.текущийпользователь.
---
В модуле объекта документа "Заказ покупателя" в процедуру ПередЗаписью() пишем:

```1c
    ОсновнойОтветственный = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(
    Пользователи.ТекущийПользователь(),
    "ОсновнойОтветственный");

    Если ЗначениеЗаполнено(ОсновнойОтветственный) Тогда
    Ответственный = ОсновнойОтветственный;
    КонецЕсли;
```
---
ОсновнойОтветственный = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(
    Пользователи.ТекущийПользователь(),
    "ОсновнойОтветственный");

Если ЗначениеЗаполнено(ОсновнойОтветственный) Тогда
    Ответственный = ОсновнойОтветственный;
КонецЕсли;

Выдает ошибку

{Документ.ЗаказПокупателя.Форма.ФормаДокумента.Форма(2847,99)}: Переменная не определена (Пользователи)
 ОсновнойОтветственный = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(<<?>>Пользователи.ТекущийПользователь(),"ОсновнойОтветственный"); (Проверка: Тонкий клиент)
---
А причем тут форма документа? Код надо писать в модуле объекта, в обработчик события ПередЗаписью()
```1c
    ВЫБРАТЬ
    ДвижениеДС.Период КАК ДоходыПериод,
    ДвижениеДС.Сумма КАК ДоходыСумма,
    ДвижениеДС.Регистратор КАК НомерЗаказа,
    ДвижениеДС.Регистратор.Касса КАК КассаРегистратора
    ИЗ
    РегистрНакопления.ДвижениеДС КАК ДвижениеДС
    ГДЕ
    ДвижениеДС.Период >= &НачалоПериода
    И ДвижениеДС.Период <= &КонецПериода
```

Как можно добавить условие,
Если НомерЗаказа.ВозвратПоЗаказу.СуммаДокумента > 0, тогда сумму у этой записи представить как отрицательную?

Сейчас получается типа того:
Продажа 1000
Продажа 25000
Возврат 25000
Итого : 51000
А должно быть: 1000.
---
```1c
    ВЫБРАТЬ
    ДвижениеДС.Период КАК ДоходыПериод,
    ВЫБОР КОГДА ДвижениеДС.Регистратор.ВозвратПоЗаказу.СуммаДокумента > 0 ТОГДА -ДвижениеДС.Сумма ИНАЧЕ ДвижениеДС.Сумма КОНЕЦ КАК ДоходыСумма,
    ДвижениеДС.Регистратор КАК НомерЗаказа,
    ДвижениеДС.Регистратор.Касса КАК КассаРегистратора
    ИЗ
    РегистрНакопления.ДвижениеДС КАК ДвижениеДС
    ГДЕ
    ДвижениеДС.Период >= &НачалоПериода
    И ДвижениеДС.Период <= &КонецПериода
```

примерно так, но я структуры точной не вижу, поэтому может не взлететь
---
```1c
    ВЫБРАТЬ
    ДвижениеДС.Период КАК ДоходыПериод,
    ВЫБОР КОГДА ДвижениеДС.Регистратор.ВозвратПоЗаказу.СуммаДокумента > 0 ТОГДА -ДвижениеДС.Сумма ИНАЧЕ ДвижениеДС.Сумма КОНЕЦ КАК ДоходыСумма,
    ДвижениеДС.Регистратор КАК НомерЗаказа,
    ДвижениеДС.Регистратор.Касса КАК КассаРегистратора
    ИЗ
    РегистрНакопления.ДвижениеДС КАК ДвижениеДС
    ГДЕ
    ДвижениеДС.Период >= &НачалоПериода
    И ДвижениеДС.Период <= &КонецПериода
```

примерно так, но я структуры точной не вижу, поэтому может не взлететь
---
Супер. Всё теперь сошлось)
---
Шаблон Выбор Когда Тогда Иначе Конец исплользовать
---
что за бред?

```1c
    ВЫБРАТЬ
    ДвижениеДС.Период КАК ДоходыПериод,
    ВЫБОР КОГДА ДвижениеДС.Регистратор.ВозвратПоЗаказу.СуммаДокумента > 0 ТОГДА -ДвижениеДС.Сумма ИНАЧЕ ДвижениеДС.Сумма КОНЕЦ КАК ДоходыСумма,
    ДвижениеДС.Регистратор КАК НомерЗаказа,
    ДвижениеДС.Регистратор.Касса КАК КассаРегистратора
    ИЗ
    РегистрНакопления.ДвижениеДС КАК ДвижениеДС
    ГДЕ
    ДвижениеДС.Период >= &НачалоПериода
    И ДвижениеДС.Период <= &КонецПериода
```

Это же регистр НАКОПЛЕНИЯ , там есть ВидДвижения Приход/Расход, там есть Остатки и/или Обороты, в которых все уже рассчитано, какой идиот по виду документа из РегистраНакопления по Документу плюсует или вычитает Сумму? - нород куда вы катитесь?
Добрый день!

Конфигурация на платформе 1С:Предприятие 8.3 (8.3.14.1993), Режим совместимости не используется.

В расширении: Справочнику добавлена общая команда, Тип параметра указан тот-же справочник. На Форме спр.Клиенты она присутствует в списке Параметризуемых:

но отсутствует в любых других формах

гуглил два дня :-/

как добавить команду в другой док/справочник?
---
Уже становится традицией - отвечать самому себе. Вообщем ситуация разрешилась следующим образом.

1. В документе реквизит Объекта "Клиент" добавлен в Расширение из основной конфигурации - но не "цепляется" за него параметризация
2. Добавил реквизит формы с таким-же свойством (спр.Клиенты)
3. Прицепил обработчикам событий ПриИзменеинии и ПриОткрытии грубый костыль:
 КлиентДляСтатистики = Объект.Клиент;

Заработало. Но почему-то на душе грустно...
---
Добрый день!

Конфигурация на платформе 1С:Предприятие 8.3 (8.3.14.1993), Режим совместимости не используется.

В расширении: Справочнику добавлена общая команда, Тип параметра указан тот-же справочник. На Форме спр.Клиенты она присутствует в списке Параметризуемых:

но отсутствует в любых других формах

гуглил два дня :-/

как добавить команду в другой док/справочник?
---
Уже становится традицией - отвечать самому себе. Вообщем ситуация разрешилась следующим образом.

1. В документе реквизит Объекта "Клиент" добавлен в Расширение из основной конфигурации - но не "цепляется" за него параметризация
2. Добавил реквизит формы с таким-же свойством (спр.Клиенты)
3. Прицепил обработчикам событий ПриИзменеинии и ПриОткрытии грубый костыль:
 КлиентДляСтатистики = Объект.Клиент;

Заработало. Но почему-то на душе грустно...
На обычных формах есть выбор из списка, где список это значения из "Перечисления".
Мне нужно скрыть парочку значений, Интернет предлагает создать свой список
Это конечно же работает:

```1c
    СписокВыбораСтатусыОбработкиЗаказаДальше = Новый СписокЗначений;
    СписокВыбораСтатусыОбработкиЗаказаДальше.Добавить(Перечисления.СтатусОбработки.ЗаказСобирается);
    СписокВыбораСтатусыОбработкиЗаказаДальше.Добавить(Перечисления.СтатусОбработки.ЗаказСобран);
    СписокВыбораСтатусыОбработкиЗаказаДальше.Добавить(Перечисления.СтатусОбработки.ОжидаемТовар);
    СписокВыбораСтатусыОбработкиЗаказаДальше.Добавить(Перечисления.СтатусОбработки.ПереданВМастерскую);
    СписокВыбораСтатусыОбработкиЗаказаДальше.Добавить(Перечисления.СтатусОбработки.Перезвонить);
    ЭлементыФормы.СтатусОбработки.СписокВыбора = СписокВыбораСтатусыОбработкиЗаказаДальше;
```

Но!
Ранее установленные значения списка в документах становятся пустыми, тем самым я теряю данные.
Как то можно иначе решить эту проблему: либо переустановить значения на новые, либо как то иначе скрывать значения из списка?
---
Можно на форме у поля в котором редактируется значение добавить обработку события
НачалоВыбора

там

СтандартнаяОбработка = Ложь;

и вызов своей формы выбора в которой хоть карты гугла рисуйте
---
Можно добавить пустое представление и отсортировать в порядке убывания чтобы пустые были в конце
---
Для начала надо понять, почему в одном документе есть это значение, а в другом нет. Если это зависит, например, от даты, т.е.. Вы решили, что с какой-то даты нельзя выбирать некоторые значения, то можно устанавливать свой список значений с условием по этой дате. Я бы так сделала.
---
Например, у меня документ, при его открытии я вижу ранее установленный статус:Заказ Собирается

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

там

СтандартнаяОбработка = Ложь;

и вызов своей формы выбора в которой хоть карты гугла рисуйте
Всем привет, пожалуйста подскажите в чем проблема.. Есть стандартная конфигурация Медицина Больничная аптека 2.1, документ требование отделения - Дополнительные сведения - создан реквизит с именем сумма и присвоено значение числовое.. Пишу внешнюю обработку печать данного требования по своей форме с дополнительными функциями.. Пробую достать до данного значения - предложенными вариантами (найденными здесь на сайте):

```1c
    // вариант 1
    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Сумма");
    Сум=Объект.ДокументОснование.Ссылка.ДополнительныеРеквизиты.Получить(ДопСвойство);

    //Вариант 2
    СУм = ПолучитьЗначениеДопСведений(Объект.ДокументОснование.ДополнительныеРеквизиты.Ссылка,"Сумма");
```

И многие другие которые нашел в инете..
Пожалуйста помогите с вариантами решения вопроса, либо подскажите куда копать?? Скрины прекрепил..
---
А, эта функция получает как раз что тебе нужно - доп сведения, это ещё один разрез. Только не те параметры в неё передаешь. Надо передать в первом параметры ссылку на владельца, а вторым параметром это самое

```1c
    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Сумма");
```
---
В Получить ему ведь вроде индекс нужен
Поищите через НайтиСтроки
---
```1c
    Сум=Объект.ДокументОснование.Ссылка.ДополнительныеРеквизиты.Получить(ДопСвойство)
```

Тут, в лучшем случае, ты получишь Строку таб части или ДанныеФормыЭлементКоллекции, вообще в этот метод вроде индекс передается. Но если получилось получить строку ТЧ по значению свойства, то надо просто достать оттуда реквизит Значение. А вот чего делает функция ПолучитьЗначениеДопСведений - не знаю, там отладчик в помощь.
---
```1c
    Функция ПолучитьЗначениеДопСведений(Ссылка ,Свойство)
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Свойство", Свойство);
    Запрос.Текст = "ВЫБРАТЬ
    | ДополнительныеСведения.Значение
    |ИЗ
    | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    |ГДЕ
    | ДополнительныеСведения.Объект = &Ссылка
    | И ДополнительныеСведения.Свойство = &Свойство";

    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Количество() = 0 Тогда
    Возврат Неопределено;
    Иначе
    Результат.Следующий();
    Возврат Результат.Значение;
    КонецЕсли;
    КонецФункции
```

При тестировании результат не определен.. По поводу индекса, как его узнать, получить??
---
А, эта функция получает как раз что тебе нужно - доп сведения, это ещё один разрез. Только не те параметры в неё передаешь. Надо передать в первом параметры ссылку на владельца, а вторым параметром это самое

```1c
    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Сумма");
```
---
Супер !!
вот решение

```1c
    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Сумма");
    СУм = ПолучитьЗначениеДопСведений(Объект.ДокументОснование.Ссылка,ДопСвойство);
```

Большое спасибо !!!
Если я ставлю свойство "видимость" ложь, тогда этого реквизита нет в "Изменить форму".
---
Там есть просто "Видимость", если её убрать, то и в "изменить форму" реквизита не будет, а есть "Пользовательская видимость", вот с ней и получается нужное вам поведение.
---
Если Вы пытаетесь таким образом скрыть поле программно, то для этого инструментов в платформе нет.
---
"доступность" проверить поведение формы.
Сделать кнопку по которой "видимость" у реквизита меняется на Истина.
---
Там есть просто "Видимость", если её убрать, то и в "изменить форму" реквизита не будет, а есть "Пользовательская видимость", вот с ней и получается нужное вам поведение.
У меня есть экспортируемая процедура в модуле объекта внешней обработки и нужно вызвать её в модуле формы. Как её вызвать? Если пишу просто название процедуры, то он её не видит.
---
в форме, вот пример как обратиться

```1c
    &НаСервере
    Функция ПостроитьСсылкуНаСервере(лкТекст)
    //из строки: <Объект не найден> (43:8293e33fb41ab241496a9f586fe1362f)
    //сначала получаем объект - с признаком: Основной реквизит формы
    лкОбработка = РеквизитФормыВЗначение("Объект");//у формы документа это будет ДокументОбъект
    лкСсылка = лкОбработка.ПостроитьСсылку(лкТекст);//вызов экспортной процедуры

    //внимание, если процедура что-то делает с данными документа, перезаполняет, пересчитывает,
    //то необходимо Объект поместить обратно в реквизит формы !!!

    Возврат лкСсылка;
    КонецФункции
```
---
управляемые формы ?
---
Да
---
Процедура меняет состояние объекта?
---
Нет
---
В (5) пример. Неудобство в том, что необходим объект обработки, чтобы вызвать процедуру модуля объекта. А в УФ его нет и необходимо сначала создать его явно. Если бы это была не внешняя обработка, тогда стандартным советом было бы перенести процедуру в модуль менеджера объекта.
Думаю, для общего развития будет также полезно почитать эту статью.
---
Уважаемая экспортируемая процедура, извините, что обращаюсь...))
---
в форме, вот пример как обратиться

```1c
    &НаСервере
    Функция ПостроитьСсылкуНаСервере(лкТекст)
    //из строки: <Объект не найден> (43:8293e33fb41ab241496a9f586fe1362f)
    //сначала получаем объект - с признаком: Основной реквизит формы
    лкОбработка = РеквизитФормыВЗначение("Объект");//у формы документа это будет ДокументОбъект
    лкСсылка = лкОбработка.ПостроитьСсылку(лкТекст);//вызов экспортной процедуры

    //внимание, если процедура что-то делает с данными документа, перезаполняет, пересчитывает,
    //то необходимо Объект поместить обратно в реквизит формы !!!

    Возврат лкСсылка;
    КонецФункции
```
Здравствуйте. Есть вопрос. Как пройтись по списку в форме списка Номенклатуры.
---
```1c
    Построитель = Новый ПостроительЗапроса;
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДокументСписок);
    ТЗ = Построитель.Результат.Выгрузить();
```
---
написать запрос.
на ОФ куча условностей: отборы, параметры и пр. - юзают некропостроитель.
на УФ проще получить настройки дсписка и выполнить компоновку в тз для обхода.
---
```1c
    Построитель = Новый ПостроительЗапроса;
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДокументСписок);
    ТЗ = Построитель.Результат.Выгрузить();
```