arefaste/1C_Forums huggingface dataset:
Добрый день.
В справочнике "Физические лица", имеется реквизит - ГруппаДоступа.
У некоторых записей, по данному реквизиту имеется прописана битая ссылка.
Записей где-то 100.
Написал обработку.
При запуске очень долго обрабатывается. Где моя ошибка?

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

    Запрос.УстановитьПараметр("Родитель", ГруппаФЛ);

    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    СсылкаЭлемента = ВыборкаДетальныеЗаписи["Ссылка"].ПолучитьОбъект();
    СсылкаЭлемента["ГруппаДоступа"] = Справочники.ГруппыДоступаФизическихЛиц.ПустаяСсылка();
    СсылкаЭлемента.Записать();
    КонецЦикла;
    КонецПроцедуры
```
---
Ну и объединяя с (5):

```1c
    ФизическиеЛица.ГруппаДоступа.Ссылка ЕСТЬ NULL
    И НЕ (ФизическиеЛица.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка))
```
---
ошибки вроде нет, попробуй так, но не думаю что намного быстрее станет )

```1c
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    СсылкаЭлемента = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
    СсылкаЭлемента.ГруппаДоступа = неопределено; ///Справочники.ГруппыДоступаФизическихЛиц.ПустаяСсылка();
    СсылкаЭлемента.Записать();
    КонецЦикла;
```
---
Или же доработать запрос, чтобы отбирались только те элементы, у которых есть битая ссылка? Я пробовал через ЕСТЬ NULL - не помогло
---
Попробуй вместо ЕСТЬ NULL использовать это:
ФизическиеЛица.Родитель.Ссылка = ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка)
---
ФизическиеЛица.Родитель.Ссылка = ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка)
Он вытащил мне тех, у кого просто пустая ссылка, но с битыми нет
---
Ну и объединяя с (5):

```1c
    ФизическиеЛица.ГруппаДоступа.Ссылка ЕСТЬ NULL
    И НЕ (ФизическиеЛица.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка))
```
---
вот так:

```1c
    ФизическиеЛица.Родитель <> ЗНАЧЕНИЕ(Справочник.ГруппыДоступаФизическихЛиц.ПустаяСсылка)
    | И ФизическиеЛица.Родитель.Ссылка ЕСТЬ NULL"
```
---
В запросе добавить условие:

```1c
    ПРЕДСТАВЛЕНИЕ(ФизическиеЛица.ГруппаДоступа) ПОДОБНО "%Объект не найден%"
```
---
ПРЕДСТАВЛЕНИЕ(ФизическиеЛица.ГруппаДоступа) ПОДОБНО "%Объект не найден%" Не помогло
---
Отставить. Действительно ПРЕДСТАВЛЕНИЕ дает строку неограниченной длины.
Здесь наверно вот так
ФизическиеЛица.ГруппаДоступа.Ссылка ЕСТЬ NULL
---
ФизическиеЛица.ГруппаДоступа.Ссылка ЕСТЬ NULL
Рад приветствовать всех сюда зашедших!

Имеется код:

Функция СоздатьМассив(КоличествоЭлементов);
М = Новый Массив;
 Генератор = Новый ГенераторСлучайныхЧисел;
 Для Индекс = 1 по КоличествоЭлементов цикл
  СЧ = Генератор.СлучайноеЧисло(1, 200);
  м.Добавить(СЧ);
 КонецЦикла;
Возврат М;
КонецФункции

Процедура ВыводМассива(Массив);
 Сообщить("Массив:");
 Для каждого Элемент из Массив цикл
 Сообщить(Элемент);
 КонецЦикла;

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

Функция РассчетСуммыМассива(Массив);
Сумма = 0;
Среднее = 0;
Для Каждого Элемент из Массив цикл
Сумма = Сумма + Элемент;
КонецЦикла;
Среднее = Сумма / КолвоЭлем;
Возврат Сумма;
Возврат Среднее;
КонецФункции

Процедура КнопкаВыполнитьНажатие(Кнопка)
 Массив = СоздатьМассив(КолвоЭлем); //КолвоЭлем = реквизит формы.
 ВыводМассива(Массив);
 Сумма = РассчетСуммыМассива(Массив);
 Среднее = РассчетСуммыМассива(Массив);
 //Среднее = Сумма / КолвоЭлем;
 Сообщить("Сумма массива =" +Сумма);
 Сообщить("Среднее =" +Среднее);
КонецПроцедуры

Думаю многие догадались, что результат процедуры выводит 2 раза значение "сумма" из функции "РассчетСуммыМассива", отсюда вопрос:
Как ПРАВИЛЬНО забрать из функции значение "среднее"?
---
Через структуру:

```1c
    Функция РассчетСуммыМассива(Массив);

    Сумма = 0;
    Среднее = 0;
    Для Каждого Элемент из Массив цикл
    Сумма = Сумма + Элемент;
    КонецЦикла;
    Среднее = Сумма / КолвоЭлем;

    Возврат Новый Структура("Сумма, Среднее",Сумма,Среднее);
    КонецФункции

    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Массив = СоздатьМассив(КолвоЭлем); //КолвоЭлем = реквизит формы.
    ВыводМассива(Массив);
    Структура = РассчетСуммыМассива(Массив);
    Сумма = Структура .Сумма;
    Среднее = Структура .Среднее;
    //Среднее = Сумма / КолвоЭлем;
    Сообщить("Сумма массива =" +Сумма);
    Сообщить("Среднее =" +Среднее);
    КонецПроцедуры
```
---
Через структуру:

```1c
    Функция РассчетСуммыМассива(Массив);

    Сумма = 0;
    Среднее = 0;
    Для Каждого Элемент из Массив цикл
    Сумма = Сумма + Элемент;
    КонецЦикла;
    Среднее = Сумма / КолвоЭлем;

    Возврат Новый Структура("Сумма, Среднее",Сумма,Среднее);
    КонецФункции

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

Подмену сделал не с точным совпадением, но теперь можно делать группировку по последнему столбику и тогда в эту группировку попадет несколько производителей
---
До группировки в текста запроса написать нечто подобное:

```1c
    ВЫБОР
    КОГДА Номенклатура.Производитель = Произ2
    ТОГДА Произ3
    ИНАЧЕ Номенклатура.Производитель
    КОНЕЦ КАК Производитель
```
---
делаю так,но выдает "нет"
---
```1c
    ВЫБОР
    КОГДА Номенклатура.Производитель = Произ2
    ТОГДА Произ3.код=1
    ИНАЧЕ Номенклатура.Производитель
    КОНЕЦ КАК Производитель
```
---
произ2 и произ3 — это какие-либо переменные с типом данных СправочникСсылка, с которыми мы сравниваем данные в запросе. Вы можете задать их как параметры запроса, например.
Писать «Произ3.код=1» нельзя, т.к. Произ3 это переменная, а не поле.

Кусок запроса, который я написал выше не является работоспособным, а предназначен для демонстрации синтаксической конструкции выбор-когда-иначе
---
а как в запросе переменной присвоить значение. Например хочу присвоить значение справочника производители с кодом 1
---
КОГДА Номенклатура.Производитель.Код = "1"
---
не понял
---
выбор - когда -иначе знаю как работает. Мне нужно переменной присвоить значение в запросе или в скд
---
Я бы сделал проще, раз отчет на СКД, можно немного смухлевать:

"
```1c
    ВЫБОР
    КОГДА Номенклатура.Производитель.Наименование = "Компас здоровья"
    ТОГДА "Вивид"
    ИНАЧЕ Номенклатура.Производитель
    КОНЕЦ
```
"

Можно создать отдельный столбик для группировки и создать подмену значения на нужное и выполнить группировку по нему, а рядом с позицией, если нужно вывести уже самого производителя
---
что вы имеете ввиду под подменю значения?
---
не "подменЮ", а подмена.
Запрос в комментарии должен был все пояснить....
сейчас выложу полный запрос с результатом
---
```1c
    ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Производитель КАК Поле2,
    ВЫБОР
    КОГДА Номенклатура.Производитель.Наименование = "Компас здоровья"
    ТОГДА "Вивид"
    ИНАЧЕ Номенклатура.Производитель
    КОНЕЦ КАК Поле1
    ИЗ
    Справочник.Номенклатура КАК Номенклатура
    ГДЕ
    Номенклатура.Ссылка В ИЕРАРХИИ(&Ссылка)
```

Подмену сделал не с точным совпадением, но теперь можно делать группировку по последнему столбику и тогда в эту группировку попадет несколько производителей
---
спасибо
При выгрузке кассовых документов из ут11 в бп3 выбор разных касс организаций в ут11 никак не влияет на документы в бп3 при обмене. Как сделать так, чтобы в бп3 отражалось различные кассы предприятия ут11?
---
Только в случае обособленного подразделения их может быть несколько! А раз кассовая книга одна ! то и касса одна
---
Вы программист или бухгалтер? Если программист , то это не ваш вопрос . если бухгалтер то читайте указания центробанка о порядке ведения кассовых операций юридическими лицами , со всеми вытекающими
"23. Каждое предприятие ведет только одну кассовую книгу"

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

Организации обязаны вести отдельную кассовую книгу в каждом обособленном подразделении, имеющем дело с наличными
Необходимо при открытии формы(1) сохранить массив с параметрами формы(2) из которой я открываю форму(1). Записать в реквизиты формы не получается, временное хранилище, как я попробовал видимо тоже не вариант, может подскажет кто, как можно это сделать?
---
Либо используйте список значений, его точно можно выбрать в качестве типа для реквизита формы:

```1c
    // сохраняем массив
    РеквизитФормыСписок.ЗагрузитьЗначения(МойМассив);

    // получаем массив
    НовыйМассив = РеквизитФормыСписок.ВыгрузитьЗначения();
```
---
Используйте для хранения реквизит формы типа "Произвольный" для хранения Фиксированного массива. Либо вовсе используйте список значений, и его методы выгрузки и загрузки значений.
---
реквизит формы типа "Произвольный" для хранения Фиксированного массива

так и делал, оно не дает записать массив в реквизит формы.
---
Как именно "не дает"?
---
Пишет что нельзя записать массив в реквизиты формы
---
передавайте туда (в реквизит) строку.

Потом (на клиенте) эту строку - преобразуйте в массив.

как - здесь Пример
---
На всякий случай обращу Ваше внимание, попробуйте таки присвоить ФиксированныйМассив.
---
Это как?
---
Очень просто:

```1c
    РеквизитФормы = Новый ФиксированныйМассив(МойМассив);
```
---
Либо используйте список значений, его точно можно выбрать в качестве типа для реквизита формы:

```1c
    // сохраняем массив
    РеквизитФормыСписок.ЗагрузитьЗначения(МойМассив);

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

Что за ТЧ (какие данные там и сколько их)?
И - для чего вторая форма? (нужна)
---
По сути из ТЧ нужна только Номенклатура и Цена
УНФ в заказе покупателя если добавлен набор, и нажать на него, откроется форма его редактирования
Делаю там деление цены пропорционально ценам загруженным с сайта, так вот, нужно чтобы в случае, если эта цена набора (складывается из суммы цен комплектующих) не была изменена, тогда чтобы цена у составляющих в ТЧ осталась та же
---
смотрите (пример) - как сделано в том же Заказе Покупателя - Изменение Цен / Скидок.
(там - несколько - типовых вариантов)

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

```1c
    НовоеФизлицо = Справочники.Физлица.СоздатьЭлемент();
    НовоеФизлицо.Наименование = "Иванов Иван Иванович";
    НовоеФизлицо.Код = СгенерироватьНовыйКод();

    //пытаемся найти несохраненный элемент
    Справочники.Физлица.НайтиПоНаименованию("Иванов Иван Иванович");

    //сохранили новый элемент справочника физлица в базе
    НовоеФизлицо.ЗапистьЭлемент();
```
---
Вообще со справочником физ-лиц в ЗУП-3 нет никакого особого волшебства. Справочник как справочник, в качестве наименования обычно используется ФИО.
Для самопроверки можно взять завести в пользовательском режиме руками нового физика безо всяких программных инструментальных средств, а потом выполнить в консоли запросов такой, например, запрос:

```1c
    ВЫБРАТЬ
    ФизическиеЛица.Ссылка КАК Ссылка,
    ФизическиеЛица.Наименование КАК Наименование,
    ФизическиеЛица.Код КАК Код,
    ФизическиеЛица.ФИО КАК ФИО,
    ФизическиеЛица.УточнениеНаименования КАК УточнениеНаименования
    ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
```

В полученной выборке найти своего физика, созданного интерфейсно руками и посмотреть чем он отличается от добавленного программно.
---
Да просто в консоли вывести весь список и найти это физлицо и посмотреь что там в наименовании написано. И все дела
---
Спасибо всем откликнувшимся, нашел свою ошибку. Сразу в значение поиска передавал ссылку, а не строку.
Здравствуйте. Есть форма списка справочника контрагенты. Хочу добавить на неё переключатель, чтобы отображались:
- все контрагенты;
- только с заполненым Email;(регСведений.КонтактнаяИнформация)
- с незаполненым Email;
Я сначала НаборЗаписей создал на этом регистре(получил те, у которых заполнен Имейл). А как их поместить на форму списка?
Как правильно это реализовать?
---
У меня в УПП получилось все настроить штатными средствами.
В форме списка справочника Контрагенты есть панель поиска. Там же есть пункт "Настроить новый отбор...".
При нажатии открывается форма обработки Универсальный поиск объектов". Там в табличной части щелкаем на строке "Контактная информация". Добавляем ограничения:
Тип Равно E-Mail
Представление Содержит "*"

Далее сохраняем настройку обработки с заголовком "Имеет E-Mail" и видим ее в общем списке видов поиска
---
какая конфигурация? (для начала)
---
СправочникСписок.Отбор.Добавить
---
Обычные формы. 8.3 УПП
---
ага, а Управляемые - 8.3 ERP
---
к чему это было?
(7) спасибо
---
можно сформировать список контрагентов по нужному условию (только с заполненным Email или еще каким), затем добавить отбор в списке справочника Контрагент в списке ...
---
У меня в УПП получилось все настроить штатными средствами.
В форме списка справочника Контрагенты есть панель поиска. Там же есть пункт "Настроить новый отбор...".
При нажатии открывается форма обработки Универсальный поиск объектов". Там в табличной части щелкаем на строке "Контактная информация". Добавляем ограничения:
Тип Равно E-Mail
Представление Содержит "*"

Далее сохраняем настройку обработки с заголовком "Имеет E-Mail" и видим ее в общем списке видов поиска
---
Блин, Инфостарт меняет "собаку" на "звездочку"
Добрый день, вывожу в параметры макета для печати значения реквизитов табличной части

```1c
    ТабДок = Новый ТабличныйДокумент;
    Макет = Отчеты.РеестрКонтрактов.ПолучитьМакет("ПечатьОтчётаРеестрКонтрактов");

    Шапка = Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(Шапка);

    ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
    Для Каждого ТекущаяСтрока Из Объект.РеестрКонтрактов Цикл

    ОбластьСтрокаТЧ.Параметры.ДатаЗаключения = ТекущаяСтрока.ДатаЗаключения;
    ОбластьСтрокаТЧ.Параметры.НомерКонтракта = ТекущаяСтрока.НомерКонтракта;
    ОбластьСтрокаТЧ.Параметры.НомерЗакупки = ТекущаяСтрока.НомерЗакупки;
    ОбластьСтрокаТЧ.Параметры.Способ = ТекущаяСтрока.Способ;
    ОбластьСтрокаТЧ.Параметры.СуммаНаДатуЗаключения = ТекущаяСтрока.СуммаНаДатуЗаключения;
    ОбластьСтрокаТЧ.Параметры.ПредметЗакупки = ТекущаяСтрока.ПредметЗакупки;
    ОбластьСтрокаТЧ.Параметры.СрокИсполненияКонтрактаС = ТекущаяСтрока.СрокИсполненияКонтрактаС;
    ОбластьСтрокаТЧ.Параметры.СрокИсполненияКонтрактаПо = ТекущаяСтрока.СрокИсполненияКонтрактаПо;
    ОбластьСтрокаТЧ.Параметры.ЗаключёнПоПункту = ТекущаяСтрока.ЗаключёнПоПункту;
    ОбластьСтрокаТЧ.Параметры.СпецификацияКонтрактаСумма = ТекущаяСтрока.СпецификацияКонтрактаСумма;
    ОбластьСтрокаТЧ.Параметры.Оплата = ТекущаяСтрока.Оплата;
    ОбластьСтрокаТЧ.Параметры.КолличествоДопСоглашений = ТекущаяСтрока.КолличествоДопСоглашений;
    ОбластьСтрокаТЧ.Параметры.СуммаДопСоглашений = ТекущаяСтрока.СуммаДопСоглашений;
    ОбластьСтрокаТЧ.Параметры.ИННПоставщика = ТекущаяСтрока.ИННПоставщика;
    ОбластьСтрокаТЧ.Параметры.ИсполнительПоставщик = ТекущаяСтрока.ИсполнительПоставщик;
    ОбластьСтрокаТЧ.Параметры.АдресПоставщика = ТекущаяСтрока.АдресПоставщика;
    ОбластьСтрокаТЧ.Параметры.СуммаСучётомДопСоглашения = ТекущаяСтрока.СуммаСучётомДопСоглашения;

    ТабДок.Вывести(ОбластьСтрокаТЧ);

    КонецЦикла;
```

но почему то согласно консоли отладчика, у названия цикла ТекущаяСтрока пишет не определено и в макет выводится только шапка, а параметры остаются пустыми.
---
В отладчике посмотри что в "Объект.РеестрКонтрактов" содержится. Подозреваю что коллекция пустая, раз цикл не выполняется.
---
Точку останова поставить, а потом Shift+F9
Ну раз неопределено, то что же вы хотите увидеть?
---
цыкл
цИкл.

Объект.РеестрКонтрактов - данные есть в таблице ? может она пустая ?
---
Пустая, но не вся в каких то полях данные есть.
---
В отладчике посмотри что в "Объект.РеестрКонтрактов" содержится. Подозреваю что коллекция пустая, раз цикл не выполняется.
---
А как посмотреть вывести в оделенную переменную ? В отладчике пишет что не определено.
---
Точку останова поставить, а потом Shift+F9
Ну раз неопределено, то что же вы хотите увидеть?
---
Сделал так см скрин. В переменной значение пишет ДанныеФормыКоллекции. Но всё ровно перескакивает.
---
А почему она может быть пустой таблица же заполнена ?
---
Надо дальше раскручивать. Что есть "Объект". Глянуть по стеку вызовов заполняется ли "РеестрКонтрактов". А может вообще ну его и в другом месте нужная инфа.
Добрый день! Подскажите, есть типовая конфигурация, которую нельзя снимать с поддержки.
Необходимо добавить команду на форму документа, при этом можно ли это как-то реализовать, не добавляя форму документа в расширение, а добавив только сам документ?
Подумал сначала, добавив команду в документ, но, на форме командные панели не заполняются автоматически, и соответственно добавленная команда сама никуда не попадет.
---
пробовал, не получилось
Ну так и не мучайтесь, просто разрешите себе добавить форму в расширение.

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

Хотя.. Есть еще вариант! Можно же вместо новой команды на форме сделать внешнюю подключаемую обработку "заполнения объекта" по стандарту БСП. Подключить ее в справочник и она в виде кнопки с синим крючком будет на форме не хуже добавленной команды. Метод особенно хорош тем, что к конфигурации вообще не нужно прикасаться.
---
внешнюю подключаемую обработку "заполнения объекта"
Действительно, не подумал даже в этом направлении, так и сделаю, спасибо!