arefaste/1C_Forums huggingface dataset:
Приветствую всех!
Подскажите как в обычном приложении (обычные формы) вывести сообщение пользователю отдельным окном с кнопкой без блокировки интерфейса?
---
Свою форму сделать для этого и открывать с нужным текстом сообщения.
---
Свою форму сделать для этого и открывать с нужным текстом сообщения.
---
ПоказатьВопрос отлично бы подошёл.
```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)

    СписокКнопок = Новый СписокЗначений;
    СписокКнопок.Добавить(1, "Кнопка 1");
    СписокКнопок.Добавить(2, "Кнопка 2");
    СписокКнопок.Добавить(3, "Кнопка 3");

    ОП = Новый ОписаниеОповещения("ОбработкаОтветаНаВопрос", ЭтаФорма);

    ПоказатьВопрос(ОП, "Текст вопроса", СписокКнопок);

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

    Процедура ОбработкаОтветаНаВопрос(РезультатВопроса, ДополнительныеПараметры) Экспорт

    Сообщить(РезультатВопроса);

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

```1c
    ПоказатьПредупреждение(,"Это текст сообщения");
```
---
про версию платформы и режим совместимости авор не сказал...
---
8.3.18, совместимость - 8.3.14
---
Пример:
ПоказатьПредупреждение(,НСтр("ru = 'Выберите документ!'; en = 'Select a document!'"), 10);
Использование в версии:
Доступен, начиная с версии 8.3.3.

Т.е., должно прокатить.
---
(10) ПоказатьПредупреждение также блокирует интерфейс. К тому же мне нужен свой текст на кнопке.
---
Что я делаю не так, раз у меня не блокирует ничего?
---
Может ты не точно говоришь про свою блокировку? Должно блокировать только родительскую форму. Всякие менюшки и переключение на другие формы вроде бы остаются доступны.
---
В теме топика написал, что мне нужно "без блокировки формы", в первом сообщении под "интерфейсом имел ввиду интерфейс формы. Но, кстати говоря, интерфейс блокируется полностью (в т.ч. меню и кнопки меню).
---
Не подходит.
---
С ПоказатьВопрос не зашло - выводит в окно сообщений. Вы просто что-то напутали. Впрочем, не подходит так не подходит.
---
Не знаю.
---
Да, вы правы, извиняюсь.
Выглядит как будто не блокирует, но ничего не работает.
---
Ничего не поделаешь, придется делать форму (уже сделал).
Подскажите, пожалуйста, как в СКД вывести номер по порядку верхней группировки. НомерПоПорядкуВГруппировке выводит номер по последней группировке, а надо выше уровня.
---
daenur1301, спасибо за неравнодушие! Сама выкрутилась следующим образом: т.к. Производств у меня небольшое количество (4 шт.) отдельным запросом посчитала количество записей в каждом производстве (кол1, кол2, кол3), а потом в макете Нпп =

```1c
    Выбор
    Когда КодПроизводства = "1"
    Тогда СистемныеПоля.НомерПоПорядку
    Иначе Выбор
    Когда КодПроизводства = "2"
    Тогда СистемныеПоля.НомерПоПорядку - кол1
    Иначе Выбор
    Когда КодПроизводства = "3"
    Тогда СистемныеПоля.НомерПоПорядку - Кол1 - Кол2
    Иначе СистемныеПоля.НомерПоПорядку - Кол1 - Кол2 - Кол3 Конец
    Конец
    Конец
```
---
Добавьте это системное поле в выбранные поля у нужной группировки
---
Добавила, но отчет с макетом. В макете это поле недоступно. Доступно СистемныеПоля.НомерПоПорядкуВГруппировке, но выводит нумерацию последней группировки.
---
Не нужно никаких отдельных макетов...
---
Поспешил, решил что Вы специально макет добавили, чтобы вывести номер п/п группировки...
Тогда в выбранные поля в группировке не обязательно добавлять Номер п/п, нужно добавить в самом макете поля.
---
Я так и сделала, как Вы советуете, но, к сожалению, номер меняется с младшей группировкой. А мне надо чтобы детальные записи нумеровались по верхней группировке.
---
Так Вы детальные записи нумеруете? Тогда через системные поля не получится, либо сквозная нумерация, либо нумерация внутри значения той группировки, в которой они находятся...
---
К такому выводу я и сама пришла. Подскажите, пожалуйста, как быть.
---
В отчете СКД с макетом есть две группировки: Производство и ОКОФ. Надо, чтобы со сменой Производства нумерация начиналась вновь с 1. Никак не придумаю как это сделать. И интернете ничего подходящего не нашла.
---
Вряд ли это можно сделать не прибегая к программным корректировкам...
https://infostart.ru/1c/articles/1290155/
---
daenur1301, спасибо за неравнодушие! Сама выкрутилась следующим образом: т.к. Производств у меня небольшое количество (4 шт.) отдельным запросом посчитала количество записей в каждом производстве (кол1, кол2, кол3), а потом в макете Нпп =

```1c
    Выбор
    Когда КодПроизводства = "1"
    Тогда СистемныеПоля.НомерПоПорядку
    Иначе Выбор
    Когда КодПроизводства = "2"
    Тогда СистемныеПоля.НомерПоПорядку - кол1
    Иначе Выбор
    Когда КодПроизводства = "3"
    Тогда СистемныеПоля.НомерПоПорядку - Кол1 - Кол2
    Иначе СистемныеПоля.НомерПоПорядку - Кол1 - Кол2 - Кол3 Конец
    Конец
    Конец
```
Всем привет! Подскажите пожалуйста, как запретить редактирование столбца в табличной части, делаю вот так:

```1c
    Для Каждого Товар Из Объект.Товары Цикл
    Товар.ПланируемаяДатаПоставки.ТолькоПросмотр = Истина;
    КонецЦикла;
```

На что получаю ошибку "Значение не является значением объектного типа (ТолькоПросмотр)"
За ранее спасибо за ответы!
---
```1c
    Элементы.ТоварыПланируемаяДатаПоставки.ТолькоПросмотр = Истина;
```
---
```1c
    Элементы.ТоварыПланируемаяДатаПоставки.ТолькоПросмотр = Истина;
```
---
Элементы.ТоварыПланируемаяДатаПоставки.ТолькоПросмотр

Спасибо огромное!!!
---
поняли, в чем косяк?
---
Да, я пытался не через элемент сделать а через объект
Есть некий документ с ТЧ. Можно ли разбить общую сумму в подвале на две, согласно булевым реквизитам в каждой строке?
---
Имхо, с помощью кликов мышкой нельзя. Нужно написать что-то типа:

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

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

А добавление/удаление строк - доступно судя по скриншоту? А то у меня бинокль запотел, йопта...
---
Можно завести реквизиты ТЧ СуммаДо, СуммаОт. При изменении суммы или флажка их рассчитывать. В подвал выводить итог по этим полям.
---
Спасибо! Получилось.
У документа ЗаказНаряд есть реквизит СчетДвиженияДенежныхСредств. При выполнении "ПоискСсылокНаОбъект" выдаёт, что используется в "Документ.ЗаказНаряд.Форма.ФормаДокумента.Форма". Но на форме его найти не могу, потому что на форме очень много реквизитов и много вкладок, у которых есть ещё куча вложенных вкладок.

Есть ли быстрый способ?
---
Поправка. Чтобы найти расположения искомого реквизита по имени на форме, нужно открыть форму, нажать "Список элементов управлЕНИЯ формы" (или Ctrl+Shift+L), потом ОБЯЗАТЕЛЬНО открыть все группы списка (нажать на все плюсики либо Ctrl+Shift+"Плюс справа"), только потом делать поиск (Ctrl+F).
---
Меню: Форма - Список элементов управляемой формы (работает и для обычной) - Ctrl + F (Поиск)...
---
Супер. Или Ctrl+Shift+L на форме, потом двойной клик по искомому реквизиту.
---
Поправка. Чтобы найти расположения искомого реквизита по имени на форме, нужно открыть форму, нажать "Список элементов управлЕНИЯ формы" (или Ctrl+Shift+L), потом ОБЯЗАТЕЛЬНО открыть все группы списка (нажать на все плюсики либо Ctrl+Shift+"Плюс справа"), только потом делать поиск (Ctrl+F).
Добрый день!
Есть типовой приказ Т-1 в ЗиКГУ 3.1. Необходимо добавить поля подписи в приказ, причем, чтобы поля печатались на обратной стороне листа. Как это можно реализовать ?
---
выносишь свои поля на второй лист макета, и там уже дело принтера с двухсторонней печатью или пусть кадровик сама листы переварачивает
---
выносишь свои поля на второй лист макета, и там уже дело принтера с двухсторонней печатью или пусть кадровик сама листы переварачивает
---
Благодарю.
---
Интересно, "второй лист макета" это как?
---
Это примерно 20 строк после подвала приказа
---
То есть, просто подгон параметров страницы, чтобы своя область с подписями попала при печати на второй лист? - не лучшее решение...
После основной области макета вставьте разрыв страницы: Настройки печати - Вставить разрыв страницы, и дальше разместите свою область с подписями, и никакие строки отсчитывать не нужно.
---
Подписи я вставлял в область "Подвал". Разве в макете, в пользовательской части можно создавать свои области ?
---
В макете всё области, я не говорю об именованных...
---
Понял. Да, я не подумал о разрыве страницы
Всем доброго дня.

Есть веб-сервис подключенный к 1С. Сам сервис простой и отправляет результаты запроса пользователю, когда тот вызывает данный метод. Пользователь вызывает метод с системы, написанной на другом языке программирования.

Появилась необходимость передачи в данный веб-сервис многомерного массива. Пользователь эти данные пересылает. 1С получает объект XDTO. Могу я куда то сохранить его в 1С, чтобы отладить код, с помощью которого буду работать с этим пакетом XDTO?
---
БСП. Модуль ОбщегоНазначения

```1c
    // Возвращает XML-представление XDTO-объекта.
    //
    // Параметры:
    // ОбъектXDTO - ОбъектXDTO - объект, для которого требуется сформировать XML-представление.
    // Фабрика - ФабрикаXDTO - фабрика, с использованием которой требуется формировать XML-представление.
    // Если параметр не указан - будет использоваться глобальная фабрика XDTO.
    //
    // Возвращаемое значение:
    // Строка - XML-представление XDTO-объекта.
    //
    Функция ОбъектXDTOВСтрокуXML(Знач ОбъектXDTO, Знач Фабрика = Неопределено) Экспорт
```
---
Преобразуй в xml и можешь хранить где удобнее. В том числе можно сохранить в файл.
---
принял, спасибо
---
БСП. Модуль ОбщегоНазначения

```1c
    // Возвращает XML-представление XDTO-объекта.
    //
    // Параметры:
    // ОбъектXDTO - ОбъектXDTO - объект, для которого требуется сформировать XML-представление.
    // Фабрика - ФабрикаXDTO - фабрика, с использованием которой требуется формировать XML-представление.
    // Если параметр не указан - будет использоваться глобальная фабрика XDTO.
    //
    // Возвращаемое значение:
    // Строка - XML-представление XDTO-объекта.
    //
    Функция ОбъектXDTOВСтрокуXML(Знач ОбъектXDTO, Знач Фабрика = Неопределено) Экспорт
```
---
спасибо большое
Вот и я нарвался на {(1, 1)}: Ожидается выражение "ВЫБРАТЬ"
Обновил Розницу до 2.3.8.27. При попытке создать/открыть установку цен {(1, 1)}: Ожидается выражение "ВЫБРАТЬ".
Копался, кэши чистил, в бубен стучал, отладчиком смотрел, ну все ОК. так ничего и не понял, откатился назад. Пол дня поработал бэкап, и опять то же самое. Но теперь там куча документов и откатывать не вариант.
Опять чистка кэшей и т.д. Восстановил опять из бэкапа, открыл две конфигурации рядом. Код не отличается ниодной запятушкой.
После Запрос.Выполнить в рабочей БД Результат запроса - таблица значений. В нерабочей - <Неизвестный модуль>(1)}: Ошибка при вызове метода контекста (Выполнить)

Тестирование и исправление, удаление кэшей, самих баз не помогают. Ума не приложу что за глюк.
---
В регистре сведений ЦеныНоменклатуры есть кривая запись
---
Что происходит с текстом запроса? Без него нечего даже и начинать играть в телепатов.
---
В консоли? Тоже самое. Ожидается выражение Выбрать
---
В регистре сведений ЦеныНоменклатуры есть кривая запись
---
Да!
---
Очень похожая ситуация. Как нашел кривую запись?
---
А в регистре запись есть, но пустая. В столбцах нифига нет. Отсортировал по наименованию, да и все, а потом удалил
помогите з запросом нужно запросом получить количество накладных по которым есть оплата от 1 до 5 дней. Ут11
Спасибо.
---
Если словами, то выбираем оплаты и смотрим какие документы они закрывают и сравниваем их даты.

```1c
    ВЫБРАТЬ
    РасчетыСКлиентамиОбороты.ЗаказКлиента КАК ЗаказКлиента,
    РасчетыСКлиентамиОбороты.Регистратор,
    РасчетыСКлиентамиОбороты.СуммаРасход КАК Сумма
    ИЗ
    РегистрНакопления.РасчетыСКлиентами.Обороты(&ДатаНачало, &ДатаКонецПлюс5, Регистратор, ) КАК РасчетыСКлиентамиОбороты
    ГДЕ
    РасчетыСКлиентамиОбороты.ЗаказКлиента.Дата МЕЖДУ &ДатаНачало И &ДатаКонец
    И РАЗНОСТЬДАТ(РасчетыСКлиентамиОбороты.ЗаказКлиента.Дата, РасчетыСКлиентамиОбороты.Регистратор.Дата, День) < 5
    И ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиОбороты.ЗаказКлиента) = ТИП(Документ.РеализацияТоваровУслуг)
    И (ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиОбороты.Регистратор) = ТИП(Документ.ПриходныйКассовыйОрдер)
    ИЛИ ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиОбороты.Регистратор) = ТИП(Документ.ПоступлениеБезналичныхДенежныхСредств))
```
---
в общем случае это работа не на один час.
"Помогите" по таксе?
---
Что такое "оплата от 1 до 5 дней"? Могу подсказать варианты того, как это можно интерпретировать.
---
тоесть оплата документа была от Дати документа реализации в периоде 5 дней
РТиУ 01.07.2021 а оплата 03.07.2021 документ оплачен на 3 день. нужно получить количество документов по которым била оплата в период до 5 дней.
---
Если словами, то выбираем оплаты и смотрим какие документы они закрывают и сравниваем их даты.

```1c
    ВЫБРАТЬ
    РасчетыСКлиентамиОбороты.ЗаказКлиента КАК ЗаказКлиента,
    РасчетыСКлиентамиОбороты.Регистратор,
    РасчетыСКлиентамиОбороты.СуммаРасход КАК Сумма
    ИЗ
    РегистрНакопления.РасчетыСКлиентами.Обороты(&ДатаНачало, &ДатаКонецПлюс5, Регистратор, ) КАК РасчетыСКлиентамиОбороты
    ГДЕ
    РасчетыСКлиентамиОбороты.ЗаказКлиента.Дата МЕЖДУ &ДатаНачало И &ДатаКонец
    И РАЗНОСТЬДАТ(РасчетыСКлиентамиОбороты.ЗаказКлиента.Дата, РасчетыСКлиентамиОбороты.Регистратор.Дата, День) < 5
    И ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиОбороты.ЗаказКлиента) = ТИП(Документ.РеализацияТоваровУслуг)
    И (ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиОбороты.Регистратор) = ТИП(Документ.ПриходныйКассовыйОрдер)
    ИЛИ ТИПЗНАЧЕНИЯ(РасчетыСКлиентамиОбороты.Регистратор) = ТИП(Документ.ПоступлениеБезналичныхДенежныхСредств))
```
В БП изменил проводки через подписку на событие в регламентной операции "Расчет земельного налога". Делаю показать проводки все показывает как надо. А смотрю оборотку там нет никаких проводок. В чем может быть проблема?
---
Сам нашел ошибку, не заполнил организацию в проводках)
---
Чем не устраивали типовые проводки?
Убедитесь, что запись ваших проводок таки выполнятся/ваши проводки не удаляются в виду несоответствия значению какого-нибудь реквизита документа/учетной политике.
---
Сам нашел ошибку, не заполнил организацию в проводках)
Офлайн, в приходящем xml-е (вер. 3.1) есть вид оплаты

- <Check Number="30" Date="2021-07-01T19:37:00" TaxationSystem="5" OperationType="1" UUID="3768699d-59b0-402e-ad13-775741f3caae">
- <Goods>
  <Good Code="264" Quantity="1.18" Price="276.0" Sum="325.68" TaxRate="none" PaymentMethod="4" />
  <Good Code="167" Quantity="0.835" Price="285.0" Sum="237.98" TaxRate="none" PaymentMethod="4" />
  </Goods>
- <Payments>
  <Payment Cash="0.0" ElectronicPayment="563.66" PrePayment="0.0" PostPayment="0.0" Barter="0.0" />
  </Payments>
</Check>

Но в отчете о розничных продажах оно не попадает -- все проходит по общему списку и соотв. закладка пуста.

Это же вообще работает? Что-то еще должно быть заполнено, как понять?

Есть такая еще беда: создается офлайн касса, потом создается эквайринговый терминал с "без подключения к системе", но в нем нельзя выбрать офлайн кассу -- а только "ККМ без подключения оборудования". Это может влиять?

Спасибо.
---
в настройках ккт, посмотрите где выбор ккт офлайн выходит, ниже есть распределение оплат, 1 нал 2 безнал если не ошибаюсь
---
в настройках ккт, посмотрите где выбор ккт офлайн выходит, ниже есть распределение оплат, 1 нал 2 безнал если не ошибаюсь
---
Спасибо, нашел чуть по-другому называется и выглядит, вроде работает.
Использую обработку ЗагрузкаДанныхИзТабличногоДокумента, необходимо ее дополнить, чтобы при нажатии кнопки Загрузить данные обработка не только записывала данные, но и делала этот документ в статусе проведен, в коде я нашел Объект.Записать, и там пытался добавить режим записи, но безуспешно, может кто с этим сталкивался
---
в функции ЗаписатьОбъект() в модуле у тебя есть такая строка "Объект.ОбменДанными.Загрузка = Истина;" она скорее всего является причиной ошибки при записи. Если поставить в значение Ложь, то документы должны перезаписаться, но рекомендую прежде чем делать это почитать про ОбменДанными.Загрузка
---
убери второй параметр РежимЗаписиДокумента.Оперативный
---
так тоже пробовал, ничего не поменялось, может я не там изменения вношу
---
Я например выбираю документ, создаю новую запись документа без данных, выбираю ее, она еще не проведена, после подгружаю таблицу, жму Загрузить данные, они записываются в выбранный документ, но статус остается так же не проведен
---
в функции ЗаписатьОбъект() в модуле у тебя есть такая строка "Объект.ОбменДанными.Загрузка = Истина;" она скорее всего является причиной ошибки при записи. Если поставить в значение Ложь, то документы должны перезаписаться, но рекомендую прежде чем делать это почитать про ОбменДанными.Загрузка
---
спасибо
Всем добрый день!

Необходимо возможность делать отбор из нескольких значений на форме. Делаю так:

```1c
    СтандартнаяОбработка = Ложь;
    ПараметрыВыбора = новый Структура;
    ПараметрыВыбора.Вставить("МножественныйВыбор",Истина);
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыВыбора, Элемент);
```

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

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

Как проверить наличие у объекта дополнительного сведения?
---
если запрос.выполнить().пустой() тогда
---
В ЕРП, Документообороте список дополнительных сведений хранится в справочнике Наборы дополнительных реквизитов и сведений.
А где в вашей конфе не знаю.
---
В БП 3.0 хранятся в Регистре сведений
---
Если я правильно понял, то ваша проблема заключается в том, как проверить у объекта возможность заполнения дополнительного свойства, а не фактическое его заполнения. Если это как, то саму возможность заполнения проверяем в справочнике, а конкретное значение в регистре.
---
попробуйте так

```1c
    ДопСведения = Запрос.Выполнить().Выбрать();
    Если ДопСведения.Следующий() Тогда
    лкЗначение = ДопСведения.Значение;
    Иначе
    //вообще не найдено Доп.свойство
    лкЗначение = Неопределено;//или Null вставьте
    КонецЕсли;

    Возврат лкЗначение;
```
---
если запрос.выполнить().пустой() тогда
---
Проверил в функции на пустой результат запроса. А в коде, где использовал функцию проверял на null
---
Общий модуль УправлениеСвойствами

```1c
    // Возвращает дополнительные реквизиты и сведения у указанного объекта.
    //
    // Параметры:
    // ВладелецСвойств - Ссылка - например: СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ...
    // - Объект - например: СправочникОбъект.Номенклатура, ДокументОбъект.ЗаказПокупателя, ...
    // - ДанныеФормыСтруктура - коллекция по типу объекта владельца свойств.
    // ПолучатьДопРеквизиты - Булево - в результат включать дополнительные реквизиты.
    // ПолучатьДопСведения - Булево - в результат включать дополнительные сведения.
    //
    // Возвращаемое значение:
    // Массив из ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
    //
    Функция СвойстваОбъекта(ВладелецСвойств, ПолучатьДопРеквизиты = Истина, ПолучатьДопСведения = Истина) Экспорт
```
---
Всем Спасибо за участие!
Есть простейшая самописная конфа - регистр расчёта и обвязка к нему (план видов расчёта, документ, справочник и регистр сведений). Проблема в том, что регистр расчёта не отображается в интерфейсе пользователя.

Можно ли его как-то включить БЕЗ подсистемы? (Не люблю умножать лишние сущности)

И чтобы 2 раза не вставать - можно ли в документе сделать автоматическое *) создание слева гиперссылки для перехода к его движениям?

*) то есть без ручного создания формы
---
1)ПКМ, на корне конфигурации,открыть командный интерфейс основоного раздела галочка напротив регистра
2)Создать форму документа,на закладке командный интерфейс галочка напротив регистра
---
1)ПКМ, на корне конфигурации,открыть командный интерфейс основоного раздела галочка напротив регистра
2)Создать форму документа,на закладке командный интерфейс галочка напротив регистра
---
без создания формы, программно команду описать можно наверно
---
Жаль. В 8.2, как помню, как-то само получалось
---
Спасибо!
---
хм, судя по сообщениям форума, программно с командным интерфейсом формы работать не получится, не знал)