arefaste/1C_Forums huggingface dataset:
Хочу при записи элемента справочника договоров генерировать по определённым правилам ещё один код (код договора).
Код - фасетный, то есть состоит из двух нумераторов:
- код вида договора
- код договора внутри вида

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

Можно про это чуть подробнее?
---
Сейчас код договора программным кодом рассчитывается и подставляется.

Как рассчитывается код договора? Код = Код + 1 ?
---
РС используется для хранения последнего присвоенного номера.
При записи договора получается новый код = текущий в РС + 1 и записывается в РС новое значение.
Чтобы номера были уникальными требуется накладывать исключительную блокировку на РС на момент получения текущего значения и записи нового.
---
Создать еще один объект метаданных справочник и для генерации кода создавать новые элементы. За уникальностью кода присмотрит сама платформа.
Не нашел способа ни сам ни в гугле. Неужели и этого 1С не умеет?
---
вот так? Можете показать как должно выглядеть?
---
вот так? Можете показать как должно выглядеть?
---
Попробуйте в детальных записях не выбирать поля группировок в выбранных полях. Только числовые.
---
Я то попробую, но это не я задаю вопрос :-)
---
Сорян))))
---
```1c
    <?xml version="1.0" encoding="UTF-8"?>
    <DataCompositionSchema xmlns="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcscom="http://v8.1c.ru/8.1/data-composition-system/common" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <dataSource>
    <name>ИсточникДанных1</name>
    <dataSourceType>Local</dataSourceType>
    </dataSource>
    <dataSet xsi:type="DataSetQuery">
    <name>НаборДанных1</name>
    <field xsi:type="DataSetFieldField">
    <dataPath>Ссылка</dataPath>
    <field>Ссылка</field>
    <appearance/>
    <inputParameters/>
    </field>
    <dataSource>ИсточникДанных1</dataSource>
    <query>ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сотрудники.Ссылка) КАК Ссылка
    ИЗ
    Справочник.Сотрудники КАК Сотрудники</query>
    </dataSet>
    <settingsVariant>
    <dcsset:name>Основной</dcsset:name>
    <dcsset:presentation xsi:type="xs:string">Основной</dcsset:presentation>
    <dcsset:settings xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
    <dcsset:selection>
    <dcsset:item xsi:type="dcsset:SelectedItemField">
    <dcsset:field>Ссылка</dcsset:field>
    </dcsset:item>
    </dcsset:selection>
    <dcsset:item xsi:type="dcsset:StructureItemGroup">
    <dcsset:order>
    <dcsset:item xsi:type="dcsset:OrderItemAuto"/>
    </dcsset:order>
    <dcsset:selection>
    <dcsset:item xsi:type="dcsset:SelectedItemAuto"/>
    </dcsset:selection>
    </dcsset:item>
    </dcsset:settings>
    </settingsVariant>
    </DataCompositionSchema>
```
---
т.е. предлагаете в самом запросе только итоги получить? Хотелось бы при необходимости иметь возможность вывести все данные, отдельным вариантом. А в основном варианте - только итоги
---
Это был самый простой пример вывода данных без группировки, хотя, может мне не совсем понятен вопрос,
ТС может выложить свою упрощённую схему
есть код, который выводит сколько понедельников осталось до конца года, можно-ли сделать без тернарной операции и цикла?
---
Очевидно, можно с помощью арифметических операций.
Например, так

```1c
    ТекДата = ТекущаяДата();
    ДнейОсталось = (НачалоДня(КонецГода(ТекДата)-НачалоДня(ТекДата))/(24*3600);
    ПолныхНедельОсталось = Цел(ДнейОсталось/7);
    НецелыйОстаток = ДнейОсталось%7;
    Результат = ПолныхНедельОсталось + ?(ДеньНедели(ТекДата)+НецелыйОстаток > 7,1,0);
```
---
или вариант с БСП где есть производственный календарь. Тогда запросом выгребаете деньнедели по каждому дню в интервале и суммируете где день недели = 1))))
---
Очевидно, можно с помощью арифметических операций.
Например, так

```1c
    ТекДата = ТекущаяДата();
    ДнейОсталось = (НачалоДня(КонецГода(ТекДата)-НачалоДня(ТекДата))/(24*3600);
    ПолныхНедельОсталось = Цел(ДнейОсталось/7);
    НецелыйОстаток = ДнейОсталось%7;
    Результат = ПолныхНедельОсталось + ?(ДеньНедели(ТекДата)+НецелыйОстаток > 7,1,0);
```
---
Спасибо
---
?(ДеньНедели(ТекДата)+НецелыйОстаток > 7,1,0) - это разве не тернарная операция? Или я чет не догоняю?
---
Количество понедельников можно и на клиенте посчитать )
Всем добрый день, буду крайне благодарен за помощь, за идеи какие-то
В общем, в чем суть: есть в системе 1C: ERP отчет "ФактическаяСебестоимостьПродукции". Я вытащил его как внешний отчет, доработал нужным мне образом в плане получения данных на основе типового запроса. Данные получаются нормально, смотрел через локальные переменные, с этим все хорошо
Проблема возникла на этапе вывода этих данных в отчет. Я добавил в СКД новый набор данных, связал с уже существующими там. Прописал в коде модуля обработки выгрузку получаемых данных в этот набор. Казалось бы, все должно быть хорошо, но нет...Каждый раз, когда задействуются данные из нового набора, отчет рушится с ошибкой "Не найден внешний набор данных". Я пробовал искать подобные случаи в сети - и это не мой вариант: название точно правильное, стандартная обработка = ложь. Вообще нет идей, что с этим делать
Пробовал также удалять один или все наборы данных, что были в СКД типового отчета, то есть оставался один мой набор, без каких-либо связей с другими - возникала все та же ошибка...
---
Внешние наборы данных добавляются при программном формировании. Передаются в СКД в виде структуры, в ключе которой имя набора, а в значении таблица значений.
---
Да, спасибо. Прошу прощения, не успел вовремя снять вопрос, сам нашел косяк. Оказалось, что при переделке процедуры в функцию забыл прописать возврат, и в набор данных не шло ничего 🙃
---
Внешние наборы данных добавляются при программном формировании. Передаются в СКД в виде структуры, в ключе которой имя набора, а в значении таблица значений.
---
Да, спасибо. Прошу прощения, не успел вовремя снять вопрос, сам нашел косяк. Оказалось, что при переделке процедуры в функцию забыл прописать возврат, и в набор данных не шло ничего 🙃
Добрый день.
Недавно в базе "слетели" настройки форм, выполненные пользователем.
Т.е. формы стали стандартные.
Пытаюсь перенести настройки из копии - не получается.

Если в копии меняю форму, то в списке настроек появляется
Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента/НастройкиФормы
а если в текущей базе меняю форму, то
Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента/КлючНаборовСвойств965A6D71CCA123F130139660D88­1DE65/НастройкиФормы.

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

```1c
    Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента/НастройкиФормы
```

на

```1c
    Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента/КлючНаборовСвойств965A6D71CCA123F130139660D881DE65/НастройкиФормы
```
 (ключ скорее всего можно произвольный задать)
то настройки применяются. Но не полностью. Видимо часть элементов почему-то нельзя переместить как было задано в настройке пользователя.
---
Причина проблемы найдена.
Пользователь перенес часть реквизитов на вкладу Дополнительно. Позже в базе было включено использование доп.реквизитов.
После чего настройки "слетают", перенос возможен только при установке строки с КлючНаборовСвойств. Если отключить использование доп.реквизитов - то настройка загружается и без КлючНаборовСвойств.
Всем привет.

В СКД добавляю новый параметр "Цена". Если завтра в консоле првоерять. то цена есть.

Добавляю в ресурсы, потом в таблицу как группировку. На что при формировании отчета пишет, что поле цена не найдено.
Что я делаю не так? Уже несколько раз перепроверила
---
Это связано с кэшем, почистите его, установите настройки отчета по умолчанию

или просто измените имя отчета, например в конце добавьте "." (точку) или подчерк "_"
это особенность СКД он помнит старые настройки и набор старых полей - где нового поля Цена - Нет!
---
Может, этот значок что-то говорит? Очень хочу понять
---
Это связано с кэшем, почистите его, установите настройки отчета по умолчанию

или просто измените имя отчета, например в конце добавьте "." (точку) или подчерк "_"
это особенность СКД он помнит старые настройки и набор старых полей - где нового поля Цена - Нет!
Добавил расширение форму константы с переключателем ложь истина
при открытии переключатель пропадает

Модально при проверке говорит что значение Нет

Сообщить(Константы.ИспользуетсяГособоронзаказ.Получить());
 // Вставить содержимое обработчика.
 //Константы.ИспользуетсяГособоронзаказ.Установить(Истина);
   ЛюбимаяЕда = Константы.ИспользуетсяГособоронзаказ.СоздатьМенеджерЗначения();

    // читаем значение
    ЛюбимаяЕда.Прочитать();
    //Сообщить(ЛюбимаяЕда.Значение);

    // меняем значение
    ЛюбимаяЕда.Значение = Истина;

    // записываем значение
    ЛюбимаяЕда.Записать()
---
В модуле константы в событии перезаписывается на Ложь.
---
с переключателем ложь истинаГоворят, у 1Сников в Питере булево принимает значения Правда и Клади.
---
Хотите в БП функционал от БП КОРП, а заплатить за апгрейд жаба душит?
---
по моему можно контанту жмякнуть и появицца.
---
Можно! Жмякай!
---
В модуле константы в событии перезаписывается на Ложь.
ERP. Всем привет, нужно получать данные улицы, дом, индекса ( в общем локальные) фиг где вытащить . Пользуюсь общими модулями. С ДокументомСсылкой.Организация не возникает проблем. Но его у контрагента ищу, то раз через раз вылетает ошибка, что не является свойством обьектого типа. В чем может быть причина?

```1c
    ПредставлениеПолучатель = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта
    (ДокументСсылка.Контрагент,
    Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента ,
    ТекущаяДатаСеанса(),
    Ложь);

    ДанныеПолучатель = РаботаСАдресами.АдресВФорматеКЛАДР(ПредставлениеПолучатель[0].ЗначенияПолей);
```
---
```1c
    Если ПредставлениеПолучатель.Количество() > 0 Тогда
    ДанныеПолучатель = РаботаСАдресами.АдресВФорматеКЛАДР(ПредставлениеПолучатель[0].ЗначенияПолей);
    КонецЕсли;
```
---
```1c
    Если ПредставлениеПолучатель.Количество() > 0 Тогда
    ДанныеПолучатель = РаботаСАдресами.АдресВФорматеКЛАДР(ПредставлениеПолучатель[0].ЗначенияПолей);
    КонецЕсли;
```
День добрый. Завис на одной проблеме, нужна помощь.
В общем есть заполненная таблица значений и выведена на упр. форму с одной активной (выделенной) строкой.
Нужно программно, при определенном действии пользователя не связанным с этой таблицей значения, делать активную следующую строку этой таблицы значения и так далее пока не упремся в последнюю строку таблицы значений.
Буду очень признателен за помощь.
---
```1c
    ИндексТекущейСтроки=Список.Индекс(Элементы.Список.ТекущиеДанные);
    ИндексСледующейСтроки=ИндексТекущейСтроки+1;
    Элементы.Список.ТекущаяСтрока=Список[ИндексСледующейСтроки].ПолучитьИдентификатор();
```
---
```1c
    ИндексТекущейСтроки=Список.Индекс(Элементы.Список.ТекущиеДанные);
    ИндексСледующейСтроки=ИндексТекущейСтроки+1;
    Элементы.Список.ТекущаяСтрока=Список[ИндексСледующейСтроки].ПолучитьИдентификатор();
```
---
спасибо больше, то что нужно.
---
1. Получить идентификатор строки из ТекущаяСтрока элемента формы.
2. Найти текущую строку в таблице значений реквизита формы.
3. Получить индекс.
4. Добавить к индексу единицу.
5. Если индекс в пределе, то получить идентификатор строки таблицы значений с этим индексом.
6. Установить идентификатор строки в ТекущаяСтрока элемента формы.
---
спасибо за помощь.
Доброго времени суток!

Есть документ "Путевой лист", по нему есть записи о времени работы в регистре накоплений.

Возможно ли каким то образом разделить результат в отчете СКД, чтобы время относилось к конкретным суткам.

Есть путевой лист по которому запись 12 часов работы (с 8:00 до 20:00), созданный 01.01 и есть второй путевой лист в котором 12 часов (с 20:00 до 8:00)
Получается так, что 4 часа в промежутке с 20:00 до 00:00 идут на следующий день, хотя должны идти на предыдущий.

Необходимо чтобы в итоговом отчете время относилось к конкретным дням. Как это можно реализовать, может кто подскажет?
---
ИМХО, у Вас не верный подход. Судя по тому, что отчёт собирается по регистру уатВыработкаТС - Вам лучше всего сделать следующее:
1) Доработать документ(ы) создающие записи в регистре уатВыработкаТС , чтобы записи делились на разные периоды по заданным Вами условиям
2) Создать обработку, которая скорректирует все существующие записи в регистре
---
Что-то подобное:

```1c
    Выбор Когда ДатаВыезд < ДатаВозврат Тогда 0 Иначе ВремяВозврат Конец КАК ВремяВозврат
```

Было бы легче подсказать если бы вы предоставили текущий текст запроса.
---
озврат Конец КАК ВремяВозврат

Пожалуйста:
---
ИМХО, у Вас не верный подход. Судя по тому, что отчёт собирается по регистру уатВыработкаТС - Вам лучше всего сделать следующее:
1) Доработать документ(ы) создающие записи в регистре уатВыработкаТС , чтобы записи делились на разные периоды по заданным Вами условиям
2) Создать обработку, которая скорректирует все существующие записи в регистре
---
стре уатВыработк
Вас понял. Благодарю!
Буду думать тогда
Всем добрый день!
1С:Предприятие 8.3 (8.3.17.2316)

Столкнулся с проблемой. Обновление выполнилось успешно, но после обновления при запуске программы в режиме предприятия получаю ошибку "Не удалось подключиться к серверу СЛК". (скрин ошибки прилагаю)

Если кто-то сталкивался с такой проблемой, то поделитесь, пожалуйста, как можно решить.
Благодарю.
---
Решение найдено
Поспешил делать пост )

Просто надо было подключиться к существующему СЛК и все, ох... надо больше отдыхать
---
Решение найдено
Поспешил делать пост )

Просто надо было подключиться к существующему СЛК и все, ох... надо больше отдыхать
Здравствуйте, подскажите пожалуйста как настроить так, чтобы когда email указан одинаковый(email отбирается по ответственному)
договора этих ответственных попадали в одно письмо и отправлялось одно письмо, а не например два письма?
---
```1c
    Функция ВыполнитьРассылку(ДатаРассылки) Экспорт

    СписокПолучивших = ";

    Если ЭтотОбъект.Договоры.Количество() = 0 Тогда
    Возврат СписокПолучивших;
    КонецЕсли;

    Конст = Константа.ЗаголовокСистемы.Получить();
    ЗаголовокПрограммы = "Комплексная " + ?(ЗначениеЗаполнено(Конст),Конст,"Общая");

    НужныеСтроки = ЭтотОбъект.Договоры.НайтиСтроки(Новый Структура("ОК",Истина));

    МассивМенеджеров = ЭтотОбъект.Договоры.Выгрузить(НужныеСтроки,"Ответственный");
    МассивМенеджеров.Свернуть("Ответственный");

    Для каждого Менеджер Из МассивМенеджеров Цикл

    Если Менеджер.Пустая() Тогда
    Продолжить;
    КонецЕсли;

    ТекстСписка = ";
    ТекстПисьма = ";
    Адрес = ";

    Счетчик = 1;
    МассДоговоры = ЭтотОбъект.Договоры.НайтиСтроки(Новый Структура("Менеджер, ОК",Ответственный,Истина));

    Для каждого СтрТЧ Из МассДоговоры Цикл
    ТекстСписка = ТекстСписка + Формат(Счетчик,"ЧГ=0") + СтрТЧ.СпрСсылка + Символы.ПС;
    Адрес = СтрТЧ.Адрес;
    Счетчик = Счетчик + 1;
    КонецЦикла;

    Если не ЗначениеЗаполнено(Адрес) Тогда
    Продолжить;
    КонецЕсли;

    ТекстПисьма = ТекстПисьмаВФорматеHTML(Менеджер, ДатаРассылки, ТекстСписка, ЗаголовокПрограммы);

    Если СозданиеИОтправкаПисьма(Адрес, ТекстПисьма) Тогда
    СписокПолучивших = СписокПолучивших + Менеджер + Символы.ПС;
    КонецЕсли;

    КонецЦикла;

    Возврат СписокПолучивших;

    КонецФункции
```
---
```1c
    Функция ВыполнитьРассылку(ДатаРассылки) Экспорт

    СписокПолучивших = ";

    Если ЭтотОбъект.Договоры.Количество() = 0 Тогда
    Возврат СписокПолучивших;
    КонецЕсли;

    Конст = Константа.ЗаголовокСистемы.Получить();
    ЗаголовокПрограммы = "Комплексная " + ?(ЗначениеЗаполнено(Конст),Конст,"Общая");

    НужныеСтроки = ЭтотОбъект.Договоры.НайтиСтроки(Новый Структура("ОК",Истина));

    МассивМенеджеров = ЭтотОбъект.Договоры.Выгрузить(НужныеСтроки,"Ответственный");
    МассивМенеджеров.Свернуть("Ответственный");

    Для каждого Менеджер Из МассивМенеджеров Цикл

    Если Менеджер.Пустая() Тогда
    Продолжить;
    КонецЕсли;

    ТекстСписка = ";
    ТекстПисьма = ";
    Адрес = ";

    Счетчик = 1;
    МассДоговоры = ЭтотОбъект.Договоры.НайтиСтроки(Новый Структура("Менеджер, ОК",Ответственный,Истина));

    Для каждого СтрТЧ Из МассДоговоры Цикл
    ТекстСписка = ТекстСписка + Формат(Счетчик,"ЧГ=0") + СтрТЧ.СпрСсылка + Символы.ПС;
    Адрес = СтрТЧ.Адрес;
    Счетчик = Счетчик + 1;
    КонецЦикла;

    Если не ЗначениеЗаполнено(Адрес) Тогда
    Продолжить;
    КонецЕсли;

    ТекстПисьма = ТекстПисьмаВФорматеHTML(Менеджер, ДатаРассылки, ТекстСписка, ЗаголовокПрограммы);

    Если СозданиеИОтправкаПисьма(Адрес, ТекстПисьма) Тогда
    СписокПолучивших = СписокПолучивших + Менеджер + Символы.ПС;
    КонецЕсли;

    КонецЦикла;

    Возврат СписокПолучивших;

    КонецФункции
```
Добрый день.

Подскажите пожалуйста, как можно исключить из массива определенных сотрудников, которые имеют доп.реквизит "Вид на жительство"?
---
У вас сотрудники....
(ВЫБРАТЬ
| СотрудникиЛицаДополнительныеРеквизиты.Ссылка //// Здесь только ССЫЛКА, 1 ПОЛЕ ДОЛЖНО БЫТЬ
|ИЗ
| Справочник. СотрудникиЛица.ДополнительныеРеквизиты КАК СотрудникиЛицаДополнительныеРеквизиты
|ГДЕ
| ...... и тд //// А ЗДЕСЬ ВАШЕ УСЛОВИЕ
---
Дополнительный параметр в запросе, как вариант:

```1c
    Рез = СтрЗаменить("5=5", "Сотрудник.Ссылка НЕ В
    |(ВЫБРАТЬ
    | ФизическиеЛицаДополнительныеРеквизиты.Ссылка
    |ИЗ
    | Справочник.ФизическиеЛица.ДополнительныеРеквизиты КАК ФизическиеЛицаДополнительныеРеквизиты
    |ГДЕ
    | ФизическиеЛицаДополнительныеРеквизиты.Свойство = &Свойство
    | И ФизическиеЛицаДополнительныеРеквизиты.Значение = &ВидНаЖительство)");
```
---
К сожалению не исключает из результата запроса
---
```1c
    |ГДЕ
    | ФизическиеЛицаДополнительныеРеквизиты.Свойство = &Свойство
```

поменял бы на

```1c
    |ГДЕ
    | ФизическиеЛицаДополнительныеРеквизиты.Свойство.Имя = "ИмяСвойстаВидНаЖительство"
```
---
А что это даст?
---
когда будешь искать план видов характеристик будет еще один подзапрос, насколько я понимаю. Да и так красивее как по мне.
Ну и вложенный запрос тоже не есть хорошо, лучше заменить на внутреннее соединение
---
Нет, свойство - это Планы видов характеристик -ДополнительныеРеквизитыИСведения. ("ВидНаЖительсво" вероятнее всего)

А значение скорее всего заполнено:

И ФизическиеЛицаДополнительныеРеквизиты.Значение <> ""
---
Ссылку нужно выбрать:

```1c
    (ВЫБРАТЬ
    | ФизическиеЛицаДополнительныеРеквизиты.Ссылка
    |ИЗ
    | Справочник.ФизическиеЛица.ДополнительныеРеквизиты КАК ФизическиеЛицаДополнительныеРеквизиты
    |ГДЕ
    | ...... и тд
```
---
ФизическиеЛицаДополнительныеРеквизиты.Ссылка
---
У вас сотрудники....
(ВЫБРАТЬ
| СотрудникиЛицаДополнительныеРеквизиты.Ссылка //// Здесь только ССЫЛКА, 1 ПОЛЕ ДОЛЖНО БЫТЬ
|ИЗ
| Справочник. СотрудникиЛица.ДополнительныеРеквизиты КАК СотрудникиЛицаДополнительныеРеквизиты
|ГДЕ
| ...... и тд //// А ЗДЕСЬ ВАШЕ УСЛОВИЕ
---
ко ССЫЛКА, 1 ПОЛЕ
Работает!
Спасибо огромное, без Вас бы не решил.

P.S "Извиняюсь за тупость, недавно начал программировать"
Из формы обработки вызываю другую форму после закрытия формы выполняется обработчик события ОбработкаОповещения

После закрытия формы обработки опять происходит выполнение обработчика события с теми же параметрами

ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения(
"ОбрабатываемРезультат", ЭтотОбъект, ПередаваемыеПараметры);

ОткрытьФорму("РегистрСведений.ГруппыАналогов.ФормаЗаписи", ПередаваемыеПараметры,,,,,ОписаниеОповещенияОЗакрытии,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

Как сделать что бы при закрытии формы обработки не выполнялся обработчик события?
---
Сделал через ОповеститьОВыборе при закрытии формы с передачей параметра
---
Сообщение было скрыто модератором.
---
Сделал через ОповеститьОВыборе при закрытии формы с передачей параметра
С помощью произвольного запроса создал ДинамическийСписок в нем есть ссылка на документ.
Вывел на форму этот список, все видно замечательно, но при клике на ссылку ничего не происходит.
Как сделать, чтобы при клике на ссылку открывался документ по этой ссылке?

Таблицу с документами сделать основной нельзя, так как один и тот же документ отображается в разных строчках.
---
так и сделал.

```1c
    ТекущиеДанные = Элементы.Список.ТекущиеДанные;
    Если Поле.Имя = "СписокСсылка" Тогда
    ПоказатьЗначение(, ТекущиеДанные.СписокСсылка);
    КонецЕсли;
```
---
посмотри в отладке как это поле называется и точно ли оно ссылочное. Скорей нужно ТекущиеДаные.Ссылка
---
Добавь для списка событие Выбор.

```1c
    &НаКлиенте
    Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)

    ТекущиеДанные = Элементы.Список.ТекущиеДанные;
    Если Поле.Имя = "ИмяЭлемента" Тогда
    ПоказатьЗначение(Неопределено, ТекущиеДанные.ИмяЭлемента);
    КонецЕсли;

    КонецПроцедуры
```
---
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
 Если Поле.Имя = "ИмяЭлемента" Тогда
  ПоказатьЗначение(Неопределено, ТекущиеДанные.ИмяЭлемента);
 КонецЕсли;

Большое спасибо за помощь.

ИмяЭлемента заменил на свое но выходит ошибка в строке ПоказатьЗначение(Неопределено, ТекущиеДанные.ИмяЭлемента);.

Поле объекта не обнаружено
---
так в ТекущиеДанные.ИмяЭлемента подставь свое имя элемента тоже)
---
так и сделал.

```1c
    ТекущиеДанные = Элементы.Список.ТекущиеДанные;
    Если Поле.Имя = "СписокСсылка" Тогда
    ПоказатьЗначение(, ТекущиеДанные.СписокСсылка);
    КонецЕсли;
```
---
посмотри в отладке как это поле называется и точно ли оно ссылочное. Скорей нужно ТекущиеДаные.Ссылка