arefaste/1C_Forums huggingface dataset:
Добрый день! Конфигурация УТ 11.4
Дорабатываю форму подбора номенклатуры (добавляю колонки) у обработок "ПодборТоваровВДокументЗакупки" и "ПодборТоваровВДокументПродажи", добавляю нужные мне значения в динамический список "СписокНоменклатура" и дополняю в Общем модуле "ПодборТоваровСервер" функции "ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашения­СПокупателем" и "ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашения­СПоставщиком"
Сохраняю, запускаю 1С - Всё работает.

Возникла задача реализовать это с помощью механизма расширения конфигурации, создаю чистую базу, переношу изменения в файл расширения, подключаю его и никаких изменений на форме...
В расширении, в общем модуле у функций указывал:
&Вместо("ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашения­СПокупателем")
и
&Вместо("ШаблонТекстаЗапросаСпискаНоменклатурыПоПараметрамСоглашения­СПоставщиком")
Скажите пожалуйста, в чем может быть ошибка?
---
При подключении расширения сбрасываете у него флажок "Безопасный режим" в списке подключённых расширений?
---
При подключении расширения сбрасываете у него флажок "Безопасный режим" в списке подключённых расширений?
---
Спасибо большое, помогло!
---
Дорабатывал спр. Номенклатура, но там изменения не в общем модуле, а в модуле формы, при переносе в расширение всё получилось, а вот с формой подбора нет.
---
1
Помогите пожалуйста. Мне нужно изменить поля представления для справочника Организации в самописной конфигурации, но предварительно нужно проверить это физлицо или юрлицо. Никак не могу понять, как обратиться к реквизиту справочника ЮрФизЛицо

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

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

 Если ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
  Поля.Добавить("ПолноеНаименование");
 Иначе
  Поля.Добавить("ПредставлениеИП");
 КонецЕсли;

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

Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

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

 Если ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
  Представление = "" + Данные.ПолноеНаименование;
 Иначе
  Представление = "" + Данные.ПредставлениеИП;
 КонецЕсли;
КонецПроцедуры
---
Если из "ОбработкаПолученияПредставления", то "Данные".

А если произвольная процедура, то никак.
---
```1c
    Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

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

    Поля.Добавить("ЮрФизЛицо ");
    Поля.Добавить("ПолноеНаименование");
    Поля.Добавить("ПредставлениеИП");

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

    Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    Если Данные.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда

    Представление = " + Данные.ПолноеНаименование;
    Иначе
    Представление = " + Данные.ПредставлениеИП;
    КонецЕсли;

    КонецПроцедуры
```
---
```1c
    Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)

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

    Поля.Добавить("ЮрФизЛицо ");
    Поля.Добавить("ПолноеНаименование");
    Поля.Добавить("ПредставлениеИП");

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

    Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
    Если Данные.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда

    Представление = " + Данные.ПолноеНаименование;
    Иначе
    Представление = " + Данные.ПредставлениеИП;
    КонецЕсли;

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

А если произвольная процедура, то никак.
---
Спасибо вам большое!
Собственно вопрос, нужен модуль(обработка/процедура), с помощью которой можно универсальным способом прочитать чек онлайн кассы.
Знаю, что чеки хранятся где-то у агрегаторов в интернете. Как их оттуда получить?
---
С помощью вот этой обработки можно грузить https://infostart.ru/public/917821/
Там обработка-пример, в модуле объекта которой функции:

```1c
    ПолучитьДетальнуюИнформациюПоЧеку(Логин, Пароль, НомерФН, НомерФД, НомерФПД, ВозвращатьТекст = Ложь)
    ПроверитьСуществованиеЧека(Логин, Пароль, НомерФН, НомерФД, НомерФПД, ДатаЧека, Знач СуммаЧека)
```

Будет работать начиная с платформы 8.3.6, т.к. нужны объекты для работы с JSON
---
С помощью вот этой обработки можно грузить https://infostart.ru/public/917821/
Там обработка-пример, в модуле объекта которой функции:

```1c
    ПолучитьДетальнуюИнформациюПоЧеку(Логин, Пароль, НомерФН, НомерФД, НомерФПД, ВозвращатьТекст = Ложь)
    ПроверитьСуществованиеЧека(Логин, Пароль, НомерФН, НомерФД, НомерФПД, ДатаЧека, Знач СуммаЧека)
```

Будет работать начиная с платформы 8.3.6, т.к. нужны объекты для работы с JSON
Доброго времени суток.

Есть задача сделать макет печатной формы. Не хочу создавать свои параметры, а хочу использовать параметры, которые уже есть в 1С. Я как-то могу найти все параметры в одном списке?

То есть, в 1С в разных местах используются одни и те же параметры (Контрагент, КонтрагентПолноеНаименование, КонтрагентИНН и т. д.). А если я не знаю есть параметр, который мне нужен... Как я могу его найти?

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

Или у списка значений есть свойство - пометка, можно ставить пометку у обработанных, потом прерываем цикл, на незаполненном, даем возможность дозаполнить, и снова запускаем перебор, но обрабатываем строки только со снятой пометкой.
---
после окончания выполнения есть обработка оповещения. В процедуре оповещения отработать результаты выполнения.
Все просто, нужно только восприятие поменять!
---
возможно нужно копировать форму
---
ээээээ, не понял. А зачем? поясните пожалуйста.
---
Пишете Функцию1, которая перебирает элементы, а когда находит нужный элемент, открывает ФормуРедактирования и прерывается. При вызове ФормыРедактирования устанавливаете ей обработчик оповещения о закрытии. В этом обработчие меняете нужный элемент в списке, а затем вызываете Функцию1.
Таким образом оно будет крутиться бесконечно, до тех пор, пока все элементы не будут обработаны.
Опционально в Функцию1 можно передавать позицию списка, чтобы не начинать каждый раз сначала.
---
Бинго! Спасибо
создал Внешний отчет,при попытки загрузить его в 1С выдает ошибку:

Невозможно подключить дополнительный отчет из файла.
Возможно, он не подходит для этой версии программы.
---
все верно

я тоже видел такие сообщения. Потом читал открытые для всех разделы ИТС по подключению внешних отчетов
---
все верно

я тоже видел такие сообщения. Потом читал открытые для всех разделы ИТС по подключению внешних отчетов
---
[IS-QUOTE]все верно

я тоже видел такие сообщения. Потом читал открытые для всех разделы ИТС по подключению внешних отчетов/QUOTE]

спасибо,исправил,все заработало
Хотел сделать в спр. номенклатура доп. сведение "отпуская НДС". Но вижу, что нельзя на всю номенклатуру сделать как доп сведение так и доп реквизит. Только на отдельный её вид. Сам подход интересен, почему так?
---
Неправда ваша. Там где
Справочник "Номенклатура" (Общие)
и есть для всех видов
---
Неправда ваша. Там где
Справочник "Номенклатура" (Общие)
и есть для всех видов
---
Спасибо! Нашел.
---
в УТ можно для всех позиций номенклатуры, вероятно ваша конфигурация устарела
Всем привет.

Такой вопрос. Есть отчет скд. В этом отчете есть группировки. Надо при выгрузки его в exel убирать группировки.
Кто то знает как это можно сделать или где об этом можно почитать.

Заранее спасибо.
---
(4) Пользователь хочет видеть в 1с в отчете группировки, потом он хочет нажать кнопку "Выгрузить в эксель без группировок" и сохранить отчет в эксель. Зайти в эксели, и что бы в эксель этих группировок (плюсиков) не было.

В моем случаи проблема решилась следующей строкой book.Worksheets(1).Range("A1:N2000").ClearOutline();
подробно можно почитать тут https://msdn.microsoft.com/ru-ru/vba/excel-vba/articles/range-clearoutline-method-excel

Диапазон A1:N2000 выбран эмпирическим путем.
---
создайте новый вариант отчета без группировок
---
Такой вариант не очень подходит
---
О каких группировках идет речь? Раскрытые группировки строк должны быть что ли?
---
(4) Пользователь хочет видеть в 1с в отчете группировки, потом он хочет нажать кнопку "Выгрузить в эксель без группировок" и сохранить отчет в эксель. Зайти в эксели, и что бы в эксель этих группировок (плюсиков) не было.

В моем случаи проблема решилась следующей строкой book.Worksheets(1).Range("A1:N2000").ClearOutline();
подробно можно почитать тут https://msdn.microsoft.com/ru-ru/vba/excel-vba/articles/range-clearoutline-method-excel

Диапазон A1:N2000 выбран эмпирическим путем.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
выгрузить отчет в котором есть группировки, но группировки не нужны и создать отчет без группировок нельзя, они нужны, ЧТО?
Вы определитесь что хотите получить....
Вам нужен тот же вид отчета, только без строк группировок?
Народ привет! Будет много букв, потому что не знаю, как объяснить
Есть справочник замена артикулов, суть такая, что конструкторских наименований может быть уйма, но по итогу это одинаковые материалы. Например
Конструкторский вариант может быть (и у всех артикулы разные) : Винт1.2(арт701) ; ВИнт 1,2(арт702); ВИНТ1,2(арт703)
А реальный вариант Винт1,2(арт701)

Так вот, получается, когда при поступлении человек выбирает артикул например 702 , нужно чтобы ему кричало мол ололо в справочнике замены есть артикул :

```1c
    спр = Справочники.ЗаменаМатериаловИЗаготовок.Выбрать();
    Пока спр.Следующий() Цикл

    Если СокрЛП(ТекСтрока.Артикул) = СокрЛП(спр.КодТехн) Тогда
    Предупреждение("Этот элемент с другим артикулом присутствует в справочнике "Замена материалов и крепежа". Заменяем выбранный элемент на: " + СокрЛ(спр.КодРеальный));
    ТекСтрока.Артикул = Справочники.Материалы.НайтиПоКоду(СокрЛП(спр.КодРеальный));
    возврат;
    иначе
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
```

И все бы ничего, но не у всех есть замены и получается, что он находит артикул технический и пишет типа есть замена и ставит пустое значение

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

Проверяйте заполненность спр.КодРеальный в Если. А лучше перепишите все на запрос.
---
Ересь какая...
А я думал, мои разработчики криворукие.

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

```1c
    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
```

нужно

```1c
    НастройкиОтчета = КомпоновщикНастроек.Настройки;
```

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

```1c
    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
```

нужно

```1c
    НастройкиОтчета = КомпоновщикНастроек.Настройки;
```

Для моего случая этого достаточно.
```1c
    Если Параметр1 Тогда
    Код{Используется параметр1} // код на 300 строк примерно
    КонецЕсли;

    Если Параметр2 Тогда
    Код{Используется параметр2} // код на 300 строк примерно
    КонецЕсли;
```

Пример скудного кода, в нем показаны условия , а внутри почти одинаковый код, она переменная только меняется.
Пример: Выбор пользователя на форме ( Галочкой ), если истина то делается для него код, а если истина для другова то следовательно программа выполняется для него.

Как можно оптимизировать код, чтоб не повторялся?
---
Так ты вроде и сам почти додумал)
Если код почти одинаков, то и вынести его в отдельный метод с передачей в него твоей переменной.
---
Так ты вроде и сам почти додумал)
Если код почти одинаков, то и вынести его в отдельный метод с передачей в него твоей переменной.
---
одинаков

```1c
    Если Парам1 Тогда
    СписокРолейПрав1(Парам1);
    КонецЕсли;
    Если Пользователи Тогда
    СписокРолейПрав1(Парам2);
    КонецЕсли;
```

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

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

```1c
    Если Вид = Услуга Тогда
    ЭтаФорма.Заголовок = "Нужный заголовок"
    КонецЕсли
```

Если я правильно понял, что Вам нужно
---
у меня конфигурация с 0 написанная, в ней такого нет
---
Ну так и перепишите тогда с 0 заголовок) При открытии формы пишите что нужно. Плюс на всякий случай при изменении вида услуг.
---
мне нужно не назвать заголовок, а убрать из него ссылку на справочник
---
Выставляете автозаголовок в ложь и пишете заголовок сами
---
да не нужен мне заголовок
---
Ахахаха, вот теперь понял:D Извиняюсь тогда за бессмысленные советы
---
лучше оставить. У услуг могут быть разные единицы измерения
---
нет, мне конкретно нужно убрать у услуг, таково задание
---
Программно изменять видимость команд панели навигации нельзя.
Только если создать на форме кнопку, которая будет выполнять аналогичные действия, и менять видимость этой кнопки по условию.
А из панели навигации стандартную команду убрать.
---
а как убрать из панели навигаций эту стандартную команду?
---
Варианта 2:
1 - в форме выключить видимость, если надо только в этой форме убрать ссылку - см. файл
2 - для справочника Единицы изменения в свойствах справочника на закладке Команды снять флаг "Использовать стандартные команды" - тогда ссылка на этот справочник из панели навигации уйдет из всех форм владельцев.
---
Спасибо)
---
эти ссылки в конфе просто нигде не отображаются
Добрейшего времени суток, товарищи!

Во внешней обработке прописана процедура, которая долго что-то считывает

Для наглядности:

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

    ТЗ = Объект.КакаяТаблица.Добавить();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    ТЗ.Номенклатура = ВыборкаДетальныеЗаписи.Ссылка;
    КонецЦикла;

    ОткрытьФорму("ВнешняяОбработка.РаботаСДублямиНоменклатуры.Форма.ФормаОтказ");

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

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

А как тогда реализовать прерывание процедуры в этой же форме, если она блокирует 1с?
---
в типовой, там целый общий модуль длительные операции есть.
И все отчеты и долгие обработки формируются в фоне.
Фоновое задание оно в самостоятельном сеансе работает, и имеет уникальный идентификатор, пот которому можно его получить и прервать.
Посмотри типовые документы, и отчеты. Прямо вот так с нахрапу, примера у меня нет.
---
Спасибо
---
Посмотрите тут: https://infostart.ru/public/336483/
---
Спасибо, буду изучать