arefaste/1C_Forums huggingface dataset:
Доброго времени суток, уважаемые форумчане!

Возникла проблема с нумерацией объектов.
У меня внешняя обработка создает и запускает бизнес-процессы.
В её модуле есть такой код:

```1c
    БПОбъект = БизнесПроцессы.Задание.СоздатьБизнесПроцесс( );
    БПОбъект.Дата = ТекущаяДата( );
    БПОбъект.УстановитьНовыйНомер( );
    ....
    БПОбъект.Записать( );
```

На всех базах этот код работает. На одной выскакивает ошибка "Номер такой-то не уникален".
Я посмотрел список бизнес-процессов в этой базе. Действительно, за этот год БП с таким номером есть.
Но почему 1С этого не видит и присваивает его новому объекту?

Заранее благодарю за помощь.
---
Используйте единовременно для исправления сложившейся ситуации. А в идеале надо, конечно, искать причину.
---
Насколько помню, в управляемом приложении нумерация ведётся на кластере и, например, при использовании двух кластеров на разных версиях платформы при соединении с одной базой, такое может случаться.
Чтобы починить используйте метод ОбновитьНумерациюОбъектов().
Чтобы разобраться в причине - в матчасть.
---
pikachu94, метод ОбновитьНумерациюОбъектов( ) помог - ошибка нумерации ушла, бизнес-процессы создаются.
Но ведь его, наверное, нельзя вызывать каждый раз при выполнении обработки, это действие должно быть единовременным?
---
Используйте единовременно для исправления сложившейся ситуации. А в идеале надо, конечно, искать причину.
---
pikachu94, спасибо за помощь!
Делаю встроенную печатную форму для ЗУП 3.1 по технологии Office Open XML. После того как она сформируется платформа сначала спрашивает куда ее сохранить, а только после этого открывает.
Как сделать, что она сохраняла во временные файлы и открывала без вопросов?
---
Это особенность старых версий БСП - там всегда выдается сохранение файла. В новых версиях, не помню с какой - уже идет автоматическое сохранение по параметрам представления файла.
Процедура называется "СохранитьПечатнуюФормуВФайл" в общей форме ПечатьДокументов. Вызывается ПриОткрытии.

```1c
    &НаКлиенте
    Процедура СохранитьПечатнуюФормуВФайл()

    НастройкиСохранения = Новый Структура("ФорматыСохранения", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
    НастройкиФорматаСохранения.ТипФайлаТабличногоДокумента));

    ФайлыВоВременномХранилище = ПоместитьТабличныеДокументыВоВременноеХранилище(НастройкиСохранения);

    Для Каждого ФайлДляЗаписи Из ФайлыВоВременномХранилище Цикл
    ФайловаяСистемаКлиент.ОткрытьФайл(ФайлДляЗаписи.АдресВоВременномХранилище, , ФайлДляЗаписи.Представление);
    КонецЦикла;

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

Дальше там тянутся проверки, получение во временное хранилище, сохранение, выбор программы для открытия и так далее.
Радикальный вариант - обновить БСП.
---
Это особенность старых версий БСП - там всегда выдается сохранение файла. В новых версиях, не помню с какой - уже идет автоматическое сохранение по параметрам представления файла.
Процедура называется "СохранитьПечатнуюФормуВФайл" в общей форме ПечатьДокументов. Вызывается ПриОткрытии.

```1c
    &НаКлиенте
    Процедура СохранитьПечатнуюФормуВФайл()

    НастройкиСохранения = Новый Структура("ФорматыСохранения", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(
    НастройкиФорматаСохранения.ТипФайлаТабличногоДокумента));

    ФайлыВоВременномХранилище = ПоместитьТабличныеДокументыВоВременноеХранилище(НастройкиСохранения);

    Для Каждого ФайлДляЗаписи Из ФайлыВоВременномХранилище Цикл
    ФайловаяСистемаКлиент.ОткрытьФайл(ФайлДляЗаписи.АдресВоВременномХранилище, , ФайлДляЗаписи.Представление);
    КонецЦикла;

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

Дальше там тянутся проверки, получение во временное хранилище, сохранение, выбор программы для открытия и так далее.
Радикальный вариант - обновить БСП.
Здравствуйте.

В 1С: Продажи - Продажи и возвраты - Документы продаж - Видим кнопку Новая почта на форме

В Конф: Подсистемы - Продажи - Продажи и возвраты - ПКМ - Объекты подсистемы - Общая форма Список документов продажи - НЕ видим кнопку Новая почта

Что я не так делаю? Где эта злосчастная кнопка?
---
Отладка - Остановить. Потом кнопку нажимаешь и попадаешь куда надо
---
Shift+Ctrl+F глобальный поиск, там забиваешь Новая почат и ищешь, ну и в командах посмотреть незабудь.
---
поставить замер производительности и нажать на эту кнопку, и потом в замере увидите что отрабатывает, то и будешь она.
---
Отладка - Остановить. Потом кнопку нажимаешь и попадаешь куда надо
---
спасибо всем за ответы!

я в какую-то кроличью нору попал) открылась еще одна конфигурация. в ней и находится нужная мне форма.
я впервые такое вижу... открыл для себя расширения)
Здравствуйте!

У меня на УФ есть редактируемый реквизит ДеревоЗначений, который пользователь может редактировать.
Перед закрытием документа 1С должна спрашивать пользователя нужно ли записать изменения, и если ответ положительный, то записать изменения с формы в БД (документ). Что бы изменения внесенные пользователем в дерево сохранялись в БД при закрытии, написал обработчик, который записывает данные из дерева в реквизит объекта - таблицу значений. Запускаю этот обработчик при изменении реквизита формы ДеревоЗначений и при закрытии формы, но 1С всё равно при закрытии не сохраняет в БД внесенные изменения перед закрытием, для неё как-будто ничего не поменялось в реквизите. Она пишет только если я поменяю, что-то в реквизите объекта напрямую (через реквизит на форме).

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

    ЗаписатьИзмененияИзДереваВОбъектНаСервере();
    КонецПроцедуры

    &НаСервере
    Процедура ЗаписатьИзмененияИзДереваВОбъектНаСервере()
    ДеревоРеквизитовИзмен = РеквизитФормыВЗначение("ДеревоРеквизитовДоговора"); //
    Объект.РеквизитыДоговора.Очистить(); //
    ОбходДереваДетально(ДеревоРеквизитовИзмен);
    РеквизитыДог=Объект.РеквизитыДоговора;
    КонецПроцедуры //
    //
    &НаСервере
    Процедура ОбходДереваДетально(ПереданноеДерево, ИмяУзла=Неопределено) //
    //
    Для Каждого СтрПолученногоДерева Из ПереданноеДерево.Строки Цикл //
    //
    Если СтрПолученногоДерева.Строки.Количество()>0 Тогда //
    //
    ОбходДереваДетально(СтрПолученногоДерева,СтрПолученногоДерева.Контроль);//
    Иначе //
    СтрТЧ=Объект.РеквизитыДоговора.Добавить(); //
    СтрТЧ.Контроль=ИмяУзла; //
    СтрТЧ.РеквизитДоговора = СтрПолученногоДерева.Представление; //
    СтрТЧ.Значение = СтрПолученногоДерева.Результат; //
    КонецЕсли; //
    КонецЦикла; //
    КонецПроцедуры
```

Подскажите, что я делаю неправильно?
Почему изменения внесенные в дерево на форме не пишутся 1С в БД при закрытии?
---
У реквизита поставить флаг "Сохраняемые данные". Так образом, при изменении реквизита будет автоматом подниматься флаг модифицированности. В событии ПередЗаписью перенести данные в объект.
---
1) перенести в процедуру ПередЗаписью, потому как ПередЗакрытием, не факт что нажали ЗаписатьИЗакрыть,а просто на крестик закрываем.сам объект же не записывается.
2) модификацию включить если в дереве что то меняется Модифицированность = Истина;
у меня так работает
---
1) перенести в процедуру ПередЗаписью, потому как ПередЗакрытием, не факт что нажали ЗаписатьИЗакрыть,а просто на крестик закрываем.сам объект же не записывается.
2) модификацию включить если в дереве что то меняется Модифицированность = Истина;
у меня так работает
---
У реквизита поставить флаг "Сохраняемые данные". Так образом, при изменении реквизита будет автоматом подниматься флаг модифицированности. В событии ПередЗаписью перенести данные в объект.
Доброго времени суток.

Имеется Бухгалтерия государственного учреждения 1.0 (1.0.59.7).
В ней имеется справочник "Графики работы".
И имеется дата.

Как определить - является ли заданная дата в графике "Пятидневка" из этого справочника - выходным днем?

ДеньНедели(Дата) - не слишком подходит, ибо есть выходные дни, переносимые на рабочие и наоборот.
---
Вопрос решился обращением к регистру сведений "ДанныеПроизводственногоКалендаря".
---
Вопрос решился обращением к регистру сведений "ДанныеПроизводственногоКалендаря".
При нажатии Команда2 Перенести Данные из ТЧ обработка, в ТЧ документ... Процедура Команди2 пустая (ПеренестиВДокумент)
---
```1c
    &НаКлиенте
    Процедура ПеренестиВДокумент(Команда)
    ПеренестиД();
    КонецПроцедуры

    &НаСервере
    Процедура ПеренестиД()

    НДок = Документы.Документ1.СоздатьДокумент();

    Для Каждого Стр из Корзина Цикл
    НовДок = НДок.ТабличнаяЧасть1111.Добавить();
    НовДок.ПрізвищеД = Стр.Прізвище;
    НовДок.ІмяД = Стр.Імя;
    НовДок.ПоБатьковіД = Стр.ПоБатькові;
    НДок.Дата = ТекущаяДата();
    КонецЦикла;

    НДок.Записать();

    КонецПроцедуры
```
---
В модуле жми Ctrl+F1 и вперёд, грызть гранит 1С
---
Я уже все там перерыл ... Мне нужна помощь
---
Так пробовал?

```1c
    ТЧДокумента.Загрузить(ТЧОбработки.Выгрузить())
```

Если имена реквизитов совпадают, то должно получиться без дополнительных действий.
---
В твоем случае (с разными наименованиями реквизитов) можно через запрос, например

```1c
    ТЗОбработки = ТЧОбработки.Выгрузить();
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ТЗОбработки.Прiзвище КАК Прiзвище,
    | ТЗОбработки.Iмя КАК Iмя,
    | ТЗОбработки.ПоБатьковi КАК ПоБатьковi
    |ПОМЕСТИТЬ ВТ_ТЗОбработки
    |ИЗ
    | &ТЗОбработки КАК ТЗОбработки
    |;
    |
    |ВЫБРАТЬ
    | ВТ_ТЗОбработки.Прiзвище КАК ПрiзвищеД,
    | ВТ_ТЗОбработки.Iмя КАК IмяД,
    | ВТ_ТЗОбработки.ПоБатьковi КАК ПоБатьковiД
    |ИЗ
    | ВТ_ТЗОбработки КАК ВТ_ТЗОбработки";
    ТЗДокумента = Запрос.Выполнить().Выгрузить();
    ТЧДокумента.Загрузить(ТЗДокумента);
```

Естественно, переменные ТЧДокумента и ТЧОбработки подменить соответствующими табличными частями.
---
```1c
    &НаКлиенте
    Процедура ПеренестиВДокумент(Команда)
    ПеренестиД();
    КонецПроцедуры

    &НаСервере
    Процедура ПеренестиД()

    НДок = Документы.Документ1.СоздатьДокумент();

    Для Каждого Стр из Корзина Цикл
    НовДок = НДок.ТабличнаяЧасть1111.Добавить();
    НовДок.ПрізвищеД = Стр.Прізвище;
    НовДок.ІмяД = Стр.Імя;
    НовДок.ПоБатьковіД = Стр.ПоБатькові;
    НДок.Дата = ТекущаяДата();
    КонецЦикла;

    НДок.Записать();

    КонецПроцедуры
```
Вчера столкнулся с такой ситуацией:
Две копии базы(файловые). Одновременно запустил в обоих самописную обработку по формированию в РС штрихкодов. Через несколько минут в обоих базах вывалилась ошибка "конфликт блокировки"(Вероятно попался один и тот же объект). По одиночке обработка в каждой базе норм работает. Почему такое происходит? Я же в разных базах,никак между собой не связанных работал.
---
Всем спасибо. Видимо так и есть. Временные папки плюс один и тот же внешний файл обработки,открытый в разных базах. Вопрос был риторический- на работу не влияет.Просто тестировал.
---
Наверно все дело во временных файлах. Как то что то пересеклось.
---
в обоих самописную обработку по формированию
а попробуй по-разному эту обработку назвать
---
По журналу регистрации посмотрите, какие события предшествовали конфликту. Есть подозрение, что запустилось какое-то регламентное задание, например, обмен
---
поискать в журнале регистрации на что он все таки ругнулся, конфликт блокировки объекта 1С или временного файла, там вроде не должно создаваться временных файлов, может компонента генерации ШК в temp...
---
Попробуйте под разными пользователями Операционной системы. В этом случае будут задействованы разные временные папки.
---
Всем спасибо. Видимо так и есть. Временные папки плюс один и тот же внешний файл обработки,открытый в разных базах. Вопрос был риторический- на работу не влияет.Просто тестировал.
Подскажите есть возможность сразу при формирований отчета посредством СКД разложить ФИО на составляющие.
БП 3.0 заносили в справочник контрагенты, физ лица. А у справочника контрагенты нету параметров Фамилия Имя Отчество, а есть просто наименование строка, Формирую очёт СКД необходимо эту строку сразу разложить на колонки Фамилия Имя Отчество.
---
1-ый способ: соединить основной набор с набором регистра свед. ФИОФизЛиц и получить Фамилию, Имя, Отчество нормального человека

2-ой способ: включить возможность использования функций общих модулей и (СтрРазделить() или костыли из других общих) получить в вычисляемых полях Фамилию, Имя, Отчество курильщика.

остальные способы от лукавого
---
1-ый способ: соединить основной набор с набором регистра свед. ФИОФизЛиц и получить Фамилию, Имя, Отчество нормального человека

2-ой способ: включить возможность использования функций общих модулей и (СтрРазделить() или костыли из других общих) получить в вычисляемых полях Фамилию, Имя, Отчество курильщика.

остальные способы от лукавого
---
Почему сразу от лукавого? В вычисляемых полях вполне работают функции СтрНайти, Лев, Сред
(1) Фамилия будет

```1c
    Лев(Наименование, СтрНайти(Наименование," "))
```

Имя

```1c
    Сред(Наименование,СтрНайти(Наименование," ")+1, СтрНайти(Наименование," ",,,2)-СтрНайти(Наименование," ",,)-1)
```

Отчество

```1c
    Сред(Наименование, СтрНайти(Наименование," ",,,2)+1)
```
---
это 2-й способ, не лукавьте!
---
Нека это стандартные функции,а Вы в (2) предлагаете функции общих модулей
---
СтрРазделить() - это функция общих модулей?
мне иногда лень писать очевидное и я написал одну, я думаю вы погрязли во грехе и упорствуете по причине, что вас обуял лукавый.

Покайтесь!
---
Покайтесь!
Низашто.
СтрРазделить в вычисляемых полях не работает
---
Написал в общем модуле функцию и через нее сделал.

```1c
    Лев(Наименование, СтрНайти(Наименование," "))
```

Эти функций не работают.
---
СтрНайти, Лев, Сред. Не работаю пишет не найдена функция. СтрРазделить() работает, но возвращает в одну колонку всё.
Доброго дня, Уважаемые коллеги подскажите решение вопроса.
Есть 1 таблица (рис1) и 2 таблица (рис2)рис
Как мне их объединить, чтобы из 2 таблицы значения сумм добавились ТОЛЬКО один раз в таблицу 2 (рис3). Спасибо.
---
Спасибо, разобрался. Если кому интересно, решение на скринах.
---
Сгруппировать первую таблицу не предлагать? А то в ней всё-таки по 2 строки, тут при всём желании левое соединение те же 2 строки даст.
---
Тут группировать если убирать счетДт, у него по счета, следоватеьно и по 2 записи.
---
Сгруппировать не получится, нужны счета.
---
А это для отчёта или для запроса? А то если в СКД, то через соединение наборов данных можно добиться нормального подсчета итогов, там независимо от строк первой таблицы, удовлетворяющих условию связи, возьмётся итог по количеству строк из второй таблицы.
---
Для отчета.
---
СКД тогда через соединение наборов.
---
Есть ссылка на мануал? Ни разу не делал.
---
Вот статья хорошая

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

И не соглашусь с тем, что складывать данные по НУ с ПР и ВР не имеет смысла.
Почти всегда должно выполняться условие БУ = НУ + ПР + ВР, поэтому время от времени нужно сравнивать данные ОСВ (бух.учет) и ОСВ (нал.учет) без отбора по видам учета.
---
Нет, ВР и ПР не обязательно должны равняться нулю.
Должно выполняться условие, что сумма по БУ = НУ + ПР + ВР.
---
по счету (налоговый) есть реквизит Вид учета? Когда ничего не выбрано, то у бухгалтеров не бьется с ведомостью по учету затрат, если же установить Вид учета: НУ, то данные сходятся. Когда Вы складываете данные по налоговому учету с постоянными разницами и временными разницами (то есть когда вид учета не выбран), результат не имеет смысла. Смотреть надо именно по данным НУ, ПР или ВР.
---
Посмотрите с установленным отбором по ВР и ПР.
Если у вас бухгалтерский учет совпадает с налоговым, то по видам учета ПР и ВР данных быть не должно. Если данные есть - это уже ошибка. В ведомости по учету затрат, кстати, также можно вывести данные по ПР и ВР.

И не соглашусь с тем, что складывать данные по НУ с ПР и ВР не имеет смысла.
Почти всегда должно выполняться условие БУ = НУ + ПР + ВР, поэтому время от времени нужно сравнивать данные ОСВ (бух.учет) и ОСВ (нал.учет) без отбора по видам учета.
---
т.е. по сути ВР и ПР должны быть равны нулю, а НУ должен быть равен БУ и, соответственно, без отбора по видам учета тоже должен быть равен БУ? Или просто равняться на данные без отбора по видам учета?
---
Нет, ВР и ПР не обязательно должны равняться нулю.
Должно выполняться условие, что сумма по БУ = НУ + ПР + ВР.
---
показатели с видом учета НУ в ОСВ (Налоговой) должны равняться показателям СтоимостьНУ в Ведомости по учету затрат, верно? Благодарю за помощь, Вы очень выручили.
---
Да, все верно. Не за что)
Имеется документ Транспортная накладная. У него есть табличная часть "ДокументыОснования" - в ней один реквизит, собственно ссылка на документ основание (РТиУ). Мне нужно изменить номер транспортной накладной на номер документа-основания из табличной части. Пытаюсь сделать это с помощью обработки Универсальный подбор и обработка объектов произвольным алгоритмом.

```1c
    //Изменение в цикле значения номера товарной накладной = номеру РТиУ (документа-основания) в табличной части документа
    Для Каждого СтрокаТЧ из Объект.ДокументыОснования Цикл
    Объект.Номер = СтрокаТЧ.Номер;

    КонецЦикла;
    Если Объект.Проведен тогда
    Объект.Записать(РежимЗаписиДокумента.Проведение);
    Иначе
    Объект.Записать();
    КонецЕсли;
```

Получаю ошибку:

```1c
    {(3)}: Поле объекта не обнаружено (Номер)
```

Не видит реквизит "Номер" у СтрокиТЧ
Подскажите, как это можно реализовать?
---
смотрите в конфигураторе какие есть реквизиты у ТЧ ДокументыОснование.. скорее всего Номер отстуствует, а есть ДокументОснование
---
Что-то вроде такого, предположил, что реквизит табличной части называется ДокументОснование

И перебирать строки ТЧ в цикле смысла не имеет - берем сразу первую, да и все

```1c
    СтрокаТЧ = Объект.ДокументыОснования[0];
    Объект.Номер = СтрокаТЧ.ДокументОснование.Номер;

    Если Объект.Проведен тогда
    Объект.Записать(РежимЗаписиДокумента.Проведение);
    Иначе
    Объект.Записать();
    КонецЕсли;
```
---
смотрите в конфигураторе какие есть реквизиты у ТЧ ДокументыОснование.. скорее всего Номер отстуствует, а есть ДокументОснование
---
Что-то вроде такого, предположил, что реквизит табличной части называется ДокументОснование

И перебирать строки ТЧ в цикле смысла не имеет - берем сразу первую, да и все

```1c
    СтрокаТЧ = Объект.ДокументыОснования[0];
    Объект.Номер = СтрокаТЧ.ДокументОснование.Номер;

    Если Объект.Проведен тогда
    Объект.Записать(РежимЗаписиДокумента.Проведение);
    Иначе
    Объект.Записать();
    КонецЕсли;
```
---
Спасибо, все получилось.
Платформа: 8.3.15
Конфигурация: УПП 1.3 (Платформа 8.1 Обычные формы)
Драйвер: 1С: Сканер штрихкода (NativeApi) 8.1.8.1

Сканер китайский, подключен по USB в разрыв клавиатуры

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

```1c
    Процедура ПриОткрытии()

    ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);

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

```1c
    Процедура ВнешнееСобытие(Источник, Событие, Данные)

    Если Не ВводДоступен() Тогда
    Возврат;
    КонецЕсли;

    ПолучитьСерверТО().ОбработатьВнешнееСобытие(Источник, Событие, Данные, ЭтаФорма);

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

Но при попытке просканировать штрих-код в форме обработки, не вызывается внешнее событие, хотя если попробовать просканировать штрих-код в форме списка номенклатуры, то внешнее событие срабатывает и открывается нужная номенклатура.

Пробовал в торговом оборудовании подключать разные драйвера, со всеми такая же ситуация. Не могу понять по какой причине в форме не срабатывает событие, в чем может быть проблема?
---
Смотрите внимательно функцию: ОбработатьСобытиеШК - она возвращает переменную "Результат". А штрих код будет в 4-ом параметре после работы функции.
Код будет примерно такой:

```1c
    ШК = ";
    Результат = ОбработатьСобытиеШК(текОбъект, "Событие", ШК);
    Если Результат Тогда
    Сообщить(ШК);
    КонецЕсли;
```

В итоге после работы данной функции, если все ок, то в переменной ШК будет ваш штрих код. И сканер тут ни причем))
---
а как вы прикрутили NativeApi к обычным формам? как то задавался такой целью но не нашел ничего готового. Насколько я знаю последняя версия компоненты 1с 8.1.6.1, где вы нашли версию 8.1.8.1?
---
Если честно, не помню откуда конкретно устанавливал. Если не ошибаюсь, то эта версия из Розницы 2.2 во встроенных драйверах
---
А сама процедура привязана к событиям формы?
---
Да привязана, я решил попробовать использовать драйвера от Атола. И в принципе получилось поймать внешнее событие, но теперь новая проблема. Он некорректно считывает штрихкод, пробовал выставлять чувствительность у драйвера 35мс и 75мс, все равно вместо штрихкода в данные попадает "1"

Хотя при обработке события в форме обработке драйвера из
```1c
    Объект.Драйвер.Данные
```
 считывается верный штрихкод
---
Смотрите внимательно функцию: ОбработатьСобытиеШК - она возвращает переменную "Результат". А штрих код будет в 4-ом параметре после работы функции.
Код будет примерно такой:

```1c
    ШК = ";
    Результат = ОбработатьСобытиеШК(текОбъект, "Событие", ШК);
    Если Результат Тогда
    Сообщить(ШК);
    КонецЕсли;
```

В итоге после работы данной функции, если все ок, то в переменной ШК будет ваш штрих код. И сканер тут ни причем))
---
Спасибо большое, разобрался
Перед началом работы системы, была процедура которая модально открывает окно, после обновления на новую платформу "8.3.15", окно начало выскакивать по 2 раза. Может кто-то сталкивался с проблемой, как исправить?
---
Это баг 8.3.15 и присутствует во всех конфигурациях на управляемых формах. Вот здесь это всё обсуждалось. Вроде в 8.3.16 это исправлено, но проверить пока не было возможности
---
а другие формы которые открываются модально тоже дважды открываются ? или только одна?
---
Некоторые тоже по 2 раза открываются. например если мы делаем изменение, у нас форма вопроса "данные были изменены, сохранить?" Тоже 2 раза выскакивает
---
Отладчиком пробовали смотреть почему 2 раза вызов диалога отрабатывает?
---
В том то и проблема, в отладчике вызов идёт 1 раз, отрабатывает форма, а потом сама по себе ещё раз открывается
---
Это баг 8.3.15 и присутствует во всех конфигурациях на управляемых формах. Вот здесь это всё обсуждалось. Вроде в 8.3.16 это исправлено, но проверить пока не было возможности
---
Спасибо вам)