arefaste/1C_Forums huggingface dataset:
```1c
    Выбрать
    Партнеры.Ссылка Партнер
    ,Контакты.Email Email
    ИЗ
    Справочник.Партнеры КАК Партнеры
    Левое Соединение
    (Выбрать Первые 1
    Ссылка,
    Представление Email
    ИЗ
    Справочник.Партнеры.КонтактнаяИнформация
    ГДЕ
    Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)

    )Контакты
    ПО Контакты.Ссылка = Партнеры.Ссылка

    Где
    Партнеры.Ссылка в (&Партнеры)
```

Подскажите есть какой то универсальный способ получить по одной (первой) почте каждого партнера?
---
```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    Партнеры.Ссылка КАК Партнер,
    ПартнерыКонтактнаяИнформация.Представление КАК Email
    ИЗ
    Справочник.Партнеры КАК Партнеры
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация
    ПО (Партнеры.Ссылка = ПартнерыКонтактнаяИнформация.Ссылка)
    И ((ПартнерыКонтактнаяИнформация.Ссылка, ПартнерыКонтактнаяИнформация.Представление) В
    (ВЫБРАТЬ ПЕРВЫЕ 1
    ПартнерыКонтактнаяИнформация1.Ссылка КАК Ссылка,
    ПартнерыКонтактнаяИнформация1.Представление КАК Представление
    ИЗ
    Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация1
    ГДЕ
    ПартнерыКонтактнаяИнформация1.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
    И ПартнерыКонтактнаяИнформация1.Ссылка = ПартнерыКонтактнаяИнформация.Ссылка))
```
---
```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    Партнеры.Ссылка КАК Партнер,
    ПартнерыКонтактнаяИнформация.Представление КАК Email
    ИЗ
    Справочник.Партнеры КАК Партнеры
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация
    ПО (Партнеры.Ссылка = ПартнерыКонтактнаяИнформация.Ссылка)
    И ((ПартнерыКонтактнаяИнформация.Ссылка, ПартнерыКонтактнаяИнформация.Представление) В
    (ВЫБРАТЬ ПЕРВЫЕ 1
    ПартнерыКонтактнаяИнформация1.Ссылка КАК Ссылка,
    ПартнерыКонтактнаяИнформация1.Представление КАК Представление
    ИЗ
    Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация1
    ГДЕ
    ПартнерыКонтактнаяИнформация1.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
    И ПартнерыКонтактнаяИнформация1.Ссылка = ПартнерыКонтактнаяИнформация.Ссылка))
```
---
отлично, все работает, спасибо большое
1С в документации обещает:
Схема «Интеркампани»

На практике не очень удобно вводить документ передачи товаров каждый раз, когда требуется оформить продажу через другую организацию. Схема «Интеркампани» позволяет отражать продажу товаров от лица организации, даже если на момент продажи они числятся в другой организации (учет по которой ведется в этой же базе). Затем по итогам периода выполняется автоматическое оформление передачи товаров в продающую организацию.

о.к. торгуем месяц и не видим прибыли пока не начнем оформлять перепродажу каждый день(и полное закрытие предущего периода и частичное текущего каждые 10 минут), т.е. вышеобещанное работает если ка бы организация ложила на себестоимость и работает вслепую?

А иногда и приходиться делать закрытие текущего периода для появления нормальных цифр в прибыли.
---
Если нет готового функционала, то кто мешает разработать свой, что бы не тыкать каждый вечер, даже и такой как в 7.7?
---
Все правильно, что не так то?
---
Ну как бы неохото каждый вечер сидеть и тыкать еще с пару десятков всяхих кнопок.
Хотелось бы хотя бы регламентое.

+ неудобно что прибыль / рентабельность можно увидеть только как пройдут все закрытия месяцев, а если на предприятии коррекция документов идет достаточно часто?

Или продали с другой товар фирмы и ждем 10 минут чтоб узнать рентабельность такого же товара для следующей продажи.

Уже возникает идея как в 7.7 собрать сумму всех партий из приходов чтоб выкатить реальную себестоимость товара.
---
Если нет готового функционала, то кто мешает разработать свой, что бы не тыкать каждый вечер, даже и такой как в 7.7?
В инете и в 1С не нашел подобного регламентного задания, кто нибудь промышлял данным вопросом? может есть готовые наработки за СМ?
---
Да, делали для УНФ. Но СМ не нужны.
---
Да, делали для УНФ. Но СМ не нужны.
Я программно меняю документ, и хочу его периодически восстанавливать, при необходимости.
Попробовал методы: ЗначениеВФайл() и ЗначениеИзФайла() но они работают с ссылкой содержимое файла =
 {"#",4f307cd0-dcf7-4c45-b57f-0b675297568b}
---
Проблема не в том, что плохо работает ЗначениеВФайл(), а в том что надо подсовывать туда не ссылку а объект. Тогда будет так же работать как и с сериализацией в XML.
Извините за некропост, но люди прочитают это и будут думать что ЗначениеВФайл() это такая фигня, а дело то не в ней.
---
Прикладной объект можно сериализовать в текст:

```1c
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку();
    ЗаписатьXML(ЗаписьXML, СправочникОбъект, НазначениеТипаXML.Явное);

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

```1c
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку();
    ЗаписатьXML(ЗаписьXML, СправочникОбъект, НазначениеТипаXML.Явное);

    ТекстXML = ЗаписьXML.Закрыть();
```
 А текст можно десериализовать в прикладной объект:
```1c
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(ТекстXML);
    СправочникОбъект = ПрочитатьXML(ЧтениеXML);
```
---
Может через XDTO попробовать в xml перегонять или серелезовать
---
а как сериализуют или черех XDTO ?
---
https://programmist1s.ru/1s-i-xml-chtenie-i-zapis-v-primerah/ посмотрите здесь через хдто
---
пошел смотреть :)
---
Увы, наверное санкции :(
---
Великий казахский фаерволл!
---
programmist1s.ru
Warning iconThis web property is not accessible via this address.
---
я еще раз проверил у меня открывает
---
значит не судьба :(
---
Спасибо, пошел смотреть обработку
---
Протестировал обработку, все работает, СПАСИБО!
---
Проблема не в том, что плохо работает ЗначениеВФайл(), а в том что надо подсовывать туда не ссылку а объект. Тогда будет так же работать как и с сериализацией в XML.
Извините за некропост, но люди прочитают это и будут думать что ЗначениеВФайл() это такая фигня, а дело то не в ней.
В СКД использую функцию СоединитьСтроки(ТаблицаЗначений(КодНеявки,Часы),"; "," ").
Проблема в том, что если в поле Часы - пустая строка "", то в отчет выводится "Б <Пустое значение>".
Как от этого избавиться? Мне нужно выводить "Б" (код неявки).

Или, другой вариант - можно ли сделать так, чтобы при Часы=0 в поле выводилось не "Б 0", а "Б"?
---
Галка "Игнорировать значения NULL" не помогает? Как-то я избавлялся от этого долбаного <пустого значения>, попробую вспомнить.
---
Это роль в списке полей СКД, на закладке "Набор данных"
---
попробуйте isnull и выбор когда тогда иначе конец
---
Галка "Игнорировать значения NULL" не помогает? Как-то я избавлялся от этого долбаного <пустого значения>, попробую вспомнить.
---
помогло! спасибо)
---
а где эта галка находится?
---
Это роль в списке полей СКД, на закладке "Набор данных"
---
Спасибо, Алексей)
---
Можно так написать СоединитьСтроки(ТаблицаЗначений(КодНеявки,выбор когда значение заполнено(Часы) тогда часы иначе 0 конец),"; "," ").
---
А я плюнул на эту функцию, и написал свою... Благо конфигурация на поддержке только у меня...
---
Была проблема. Нужно было собрать три реквизита контрагентов партнера в ут11. получал пустое значение. это не NULL это пустая ссылка и ролью скд не убирается.
Как решил:
сделал для каждого реквизита отдельный набор с отбором в "где" на пустое значение.
---
Можно подробнее?...
---
а что подробнее? В СКД под каждый реквизит подчиненного справочника делаешь отдельный набор данных-запрос и соединяешь их по партнеру.
---
У меня получилось в макетах полей подменить.
Выбор Когда Параметр = "<Пустое значение>" тогда "" иначе Параметр Конец
---
Работает. Примерно так:
СтрЗаменить(СтрЗаменить(СоединитьСтроки(Свернуть(ТаблицаЗначений(Колонка1,Колонка2, Колонка3)),"; ","; "), "<Пустое значение>; ", ""), "<Пустое значение>", "")
---
Спасибо, помогло

```1c
    Процедура ЗаполнитьПоляИтогаСхемыКомпоновкиДанных(ИсполняемаяСхема)

    Для Каждого ПолеИтога Из ИсполняемаяСхема.ПоляИтога Цикл

    Если Не СтрНачинаетсяС(ВРег(СокрЛ(ПолеИтога.Выражение)), ВРег("СоединитьСтроки(")) Тогда
    Продолжить;
    КонецЕсли;

    ПутьКДанным = ВРег(ПолеИтога.ПутьКданным);

    Если СтрНайти(ПутьКДанным, "Период") Или СтрНайти(ПутьКДанным, "Дата") Тогда
    СтрокаПоиска = "01.01.0001 0:00:00";
    Иначе
    СтрокаПоиска = "<Пустое значение>";
    КонецЕсли;

    Выражение = ПолеИтога.Выражение;
    Выражение = СтрШаблон("СтрЗаменить(%1, "%2,", "")", Выражение, СтрокаПоиска);
    Выражение = СтрШаблон("СтрЗаменить(%1, "%2", "")", Выражение, СтрокаПоиска);
    ПолеИтога.Выражение = Выражение;

    КонецЦикла;

    КонецПроцедуры
```
Добавил обычную форму, создал на ней кнопку, привязал действие. Запустил, кнопки нет
---
Запустил, кнопки нет
Смысл обрабатывать нажатие, если кнопки нет? Ее все равно пользователь не нажмет.
---
Запустил, кнопки нет
Смысл обрабатывать нажатие, если кнопки нет? Ее все равно пользователь не нажмет.
---
Можете помочь с добавлением табличного документа на обычную форму?
Добрый день.
В типовых конфигурациях на командной панели формы располагаются команды прикрепления файлов. Причем имеется возможность прикрепления файла "в один клик" - без необходимости перехода к форме Обработка.РаботаСФайлами.Форма.ПрисоединенныеФайлы

Размещается данная команда и ссылка на файлы на форме документа с помощью обращения к БСП:

```1c
    // СтандартныеПодсистемы.РаботаСФайлами

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

    // Конец СтандартныеПодсистемы.РаботаСФайлами
```

Необходимо не переопределить размещение, а задублировать данную команду на форме, но уже не в командной панели, а в другой группе формы. Как это можно сделать? Просто скопировать код и изменить наименование параметры гиперссылки - не работает. Буду рад за любую наводку на решение. P.S. скажу сразу - в ИТС по БСП ответа не нашёл.

Реализовал пока только так, но в моём решении требуется совершить несколько лишних кликов мышью, чтобы прикрепить файл к документу:

```1c
    &НаКлиенте
    Процедура псДобавитьФайлПосле(Команда)

    Если Объект.Ссылка.Пустая() Тогда
    ТекстВопроса = НСтр("ru = 'Данные еще не записаны.
    |Переход к файлам возможен только после записи заявки. Записать?'");

    Оповещение = Новый ОписаниеОповещения("псОткрытьФайлЗавершение", ЭтаФорма, Неопределено);
    ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);

    Иначе
    псОткрытьФайл();
    КонецЕсли;

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

    &НаКлиенте
    Процедура псОткрытьФайлЗавершение(Результат,ДополнительныеПараметры) Экспорт

    Если Результат = КодВозвратаДиалога.Да Тогда
    ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);
    псОткрытьФайл();
    КонецЕсли;

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

    &НаКлиенте
    Процедура псОткрытьФайл()

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("ВладелецФайла", Объект.Ссылка);

    ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ПрисоединенныеФайлы", ПараметрыФормы);

    КонецПроцедуры
```
---
Как-то так:

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

```1c
    Элементы.МояКнопка.ИмяКоманды = Элементы["УправлениеПрисосединеннымиФайламиЗагрузитьФайл0"].ИмяКоманды;
```
---
этих полей может быть несколько, потому что в
(4) ["УправлениеПрисосединеннымиФайламиЗагрузитьФайл0"]
Спасибо! Сработало.
Добрый день. Подскажите как в отчёте объединить данные следующим образом. Поле ПлановаяДата должна заполняться датой документа ЗаказНаПроизводство либо ЗаказПоставщику. (Если у заказа есть заказ на производство то заполняется датой из ЗаказНаПроизводство. В случае если имеется ЗаказПоставщику, то аналогично. ) Как это сделать? Надеюсь корректно объяснил ситуацию
---
у вас же не ОДИН документ Заказ... собирайте ВСЕ даты и ВСЕ документы
например через Объединить , например так

```1c
    Выбрать
    ДокЗаказ.Дата,
    ДокЗаказ.Ссылка,
    ...

    Объединить все

    Выбрать
    ДокПр.Дата,
    ДокПр.Ссылка,
    ...
```

Выбрать
---
у вас же не ОДИН документ Заказ... собирайте ВСЕ даты и ВСЕ документы
например через Объединить , например так

```1c
    Выбрать
    ДокЗаказ.Дата,
    ДокЗаказ.Ссылка,
    ...

    Объединить все

    Выбрать
    ДокПр.Дата,
    ДокПр.Ссылка,
    ...
```

Выбрать
Неожиданная задача, обычно просят общий стаж, а тут именно за последние 3 года

Не знаю как подступиться к этой задаче

Может есть какой то готовый алгоритм
---
Нашла что есть стандартная переменная СтажРаботыНаПредприятии. Я не знала

 КадровыеДанные.Добавить("СтажРаботыНаПредприятииЛет");
 КадровыеДанные.Добавить("СтажРаботыНаПредприятииМесяцев");
---
Нашла что есть стандартная переменная СтажРаботыНаПредприятии. Я не знала

 КадровыеДанные.Добавить("СтажРаботыНаПредприятииЛет");
 КадровыеДанные.Добавить("СтажРаботыНаПредприятииМесяцев");
Добрый день, Есть обработка и в ней есть выбор справочника и табличная часть. В табличной части содержатся реквизиты справочника - Наименования, код и т.д. с типом булево. Так вот, если к примеру я проставил значение "Наименование" - Истина(Галочка) для этого справочника, нужно сохранить это выбранное значение. И так для всех справочников, которые выбирает пользователь. К примеру открыл справочник должности, и программа восстановила для него значения в таблице (которые я проставил До этого и программа сохранила их)
Сохранять значения для таблицы получилось, но эти значения постоянные, выбираю любой справочник и он подставляет только эти значения
---
Не знаю правильно ли я понял вопрос.

я бы делал так
1) Добавил в обработку реквизит типа ХранилищеЗначений
2) Добавил реквизит формы таблица значений (без вывода на форму) с двумя колонками Справочник и ВыбранныеПоля (тип строка) после того как пользователь жмякнет на кнопку сохранение в эту таблицу добавляется запись формируется строка выбранных полей например как "Наименование,Код" и записывается в данную таблицу
3) При закрытии формы сохранять таблицу значений в реквизит Хранилище значений
4) При открытии формы получать таблицу значений из хранилища и загружать ее в реквизит формы
5) по таблице восстанавливать выбранные пользователем значения для конкретного справочника (если для этого справочника присутствует запись в таблице)
---
Это не программа сохраняет, а вы сами. В константах, справочниках или регистрах, исходя из задачи
---
Программа не сохраняет значения на форме, мне нужно чтобы при выборе справочника она сохраняла нужные значения и так со всеми справочниками в обработке. Я же написал так и написал
---
Ты написал, так как будто первый месяц с 1С работаешь. И думаешь, что если на форму что-то накидал, то это сразу начинает работать так как ты думаешь. Увы, но это не так.
---
Без доработок конфигурации это не сделать. Надо завести какой-нибудь регистр для этого и туда писать нужные настройки, при открытии формы их читать.
---
Не знаю правильно ли я понял вопрос.

я бы делал так
1) Добавил в обработку реквизит типа ХранилищеЗначений
2) Добавил реквизит формы таблица значений (без вывода на форму) с двумя колонками Справочник и ВыбранныеПоля (тип строка) после того как пользователь жмякнет на кнопку сохранение в эту таблицу добавляется запись формируется строка выбранных полей например как "Наименование,Код" и записывается в данную таблицу
3) При закрытии формы сохранять таблицу значений в реквизит Хранилище значений
4) При открытии формы получать таблицу значений из хранилища и загружать ее в реквизит формы
5) по таблице восстанавливать выбранные пользователем значения для конкретного справочника (если для этого справочника присутствует запись в таблице)
---
Спасибо, этот вариант мне кажется ближе всего подходит
Добрый день, не могу найти кпп обособки (организации) для упд(печатная форма) в данный момент стоит кпп юр.адреса из "ФормированиеПечатныхФорм"
---
Вопрос закрыт, решил с помощью костыля через запрос
---
Вопрос закрыт, решил с помощью костыля через запрос
Есть формы списка - мне всегда казалось что форму списка можно изменить и добавить поля в пользовательском режиме, если они есть в динамическом списке. Однако платформа 8.3.10 и у формы списка я не смогла найти как это сделать. Подскажите где искать? Или такой функции больше нет?
Раньше пользователи вроде как это делали сами - а теперь жалуются, что не могут. Или это есть какие то специфические формы у которых можно, а у формы документа нельзя?
---
если выключена "Видимость", то выключена.
Управлять видимость в пользовательском режиме можно для полей, у которых "Видимость" включена, но в "Пользовательская видимость" выключена. Тогда по-умолчанию на форме отображаться не будут, но можно включить в пользовательском режиме.
---
если выключена "Видимость", то выключена.
Управлять видимость в пользовательском режиме можно для полей, у которых "Видимость" включена, но в "Пользовательская видимость" выключена. Тогда по-умолчанию на форме отображаться не будут, но можно включить в пользовательском режиме.
---
а как программно выключить это "пользовательскую видимость"? Чтобы по умолчанию видны не были (но через изменить форму были доступны)
---
программно управлять "Пользовательская видимость" нельзя.
---
Спасибо
тоже пришел к такому выводу )

где-то это зашита в бинарных данных настроек пользователя видимо
---
Ещё - Изменить форму -
Если нужно, далее: Ссылка - Добавить поля
---
Изменить форму кнопка добавить поля неактивна
В списке с галочками только те поля которые видимые и есть на форме, при этом сам динамический список на все поля документа.
И даже если поле есть на форме - но у него в конфигураторе уьрана галочка видимость - в списке для изменения формы этого поля уже нет
---
добавить новые поля можно только для ссылочных полей.
---
А, Добавить поле активно когда уже выбираешь ссылку. Спасибо. Как то сразу не сориентировалась.
Получается если ссылка от дока выведена в тч, то и пользователь сможет поля добавить
Добрый день. Подскажите, пожалуйста, как повернуть картинку на 90 градусов? Пробовал
```1c
    КартинкаШтрихкода = ПолучениеИПечатьШтрихкодов.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
    ОбработкаКартинки = Новый ОбработкаКартинок;
    КартинкаШтрихкода = ОбработкаКартинки.Повернуть(КартинкаШтрихкода, 90);
    ОбластьДанных.Рисунки.КартинкаШтрихкода.Картинка = КартинкаШтрихкода;
```
, не работает. Обычные формы.
З.Ы. https://infostart.ru/public/176247/ не предлагать, уже ознакомился со статьей.
---
У компоненты используемой для формирования штрихкода есть параметр УголПоворота (CanvasRotation). Может в эту сторону копнуть?
https://its.1c.ru/db/metod8dev/content/5963/hdoc/_top/штрихкод
---
Этот метод заработал у меня таким образом:

```1c
    ОбработкаКартинок = Новый ОбрабатываемаяКартинка(Картинка);
    ОбработкаКартинок.Повернуть(90);
    Картинка = ОбработкаКартинок.ПолучитьКартинку();
```
---
Повернуть (Rotate)
Синтаксис:
Повернуть(<Угол>)
Параметры:
<Угол> (необязательный)
Тип: Число.
Угол, под которым будет повернута картинка.
Описание:
Поворачивает картинку на заданный угол.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.14.
---
вы мне скинули синтаксис метода ОбрабатываемаяКартинка. Попробовал его, но тоже ничего не происходит
```1c
    КартинкаШтрихкода = ПолучениеИПечатьШтрихкодов.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
    //КартинкаШтрихкода = ОбработкаКартинки.Повернуть(КартинкаШтрихкода, 90);
    ОбработкаКартинки = Новый ОбрабатываемаяКартинка(КартинкаШтрихкода);
    ОбработкаКартинки.Повернуть(90);
    ОбластьДанных.Рисунки.КартинкаШтрихкода.Картинка = КартинкаШтрихкода;
```
---
У компоненты используемой для формирования штрихкода есть параметр УголПоворота (CanvasRotation). Может в эту сторону копнуть?
https://its.1c.ru/db/metod8dev/content/5963/hdoc/_top/штрихкод
---
спасибо, этот вариант сработал.
Как определить отмену проведения в подписке "ПриЗаписи" РН?

При проведении документа (даже если он не был проведён) подписка срабатывает два раза:
1. удаление движений - Источник.Записывать = Ложь
2. создание движений - Источник.Записывать = Истина
в обоих случаях Источник.Отбор.Регистратор.Значение.Проведен=Истина

При отмене проведения (пометки на удаление) документа подписка срабатывает один раз:
удаление движений - Источник.Записывать = Ложь
Источник.Отбор.Регистратор.Значение.Проведен=Истина (непонятно почему "Истина")

Есть ли способ определить отмену проведения (пометку удаления) в подписке?

1С:Предприятие 8.3 (8.3.18.1289)
---
В подписке на регистр накопления не выйдет, т.к. сначала записи удаляются, а потом то ли пишутся, то ли нет. В момент удаления прованговать нельзя. Делайте по классике - через подписку на регистратор или в модуле объекта, в ПередЗаписью сравнивайте Ссылка.ПометкаУдаления и ЭтотОбъект.ПометкаУдаления
---
проверить свойство пометка удаления у Источник.Отбор.Регистратор ?
---
В подписке на регистр накопления не выйдет, т.к. сначала записи удаляются, а потом то ли пишутся, то ли нет. В момент удаления прованговать нельзя. Делайте по классике - через подписку на регистратор или в модуле объекта, в ПередЗаписью сравнивайте Ссылка.ПометкаУдаления и ЭтотОбъект.ПометкаУдаления
---
В процедуре обработчика подписки на событие "ПриЗаписи" для РН только три параметра:
(Источник, Отказ, Замещение)
Параметра "РежимЗаписи" нет...

"Источник" не имеет параметра "ПометкаУдаления"

При любых действиях (проведение; отмена проведения; пометка на удаление) значения
"Источник.Отбор.Регистратор.Значение.Проведен=Истина"
"Источник.Отбор.Регистратор.Значение.ПометкаУдаления=Ложь"

(3) спасибо!
---
Я говорил о подписке на сам документ-регистратор, а не регистр накопления
---
Этот код решит твою задачу

```1c
    Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения ИЛИ Источник.ПометкаУдаления И НЕ Источник.ОбменДанными.Загрузка Тогда
    //Твой Код при отмене или удалении
    КонецЕсли;
```
---
В целом это легко реализовать через передачу

ЭтотОбъект.Движения."ИМЯРЕГИСТРА".ДополнительныеСвойства.Вставить("РежимЗаписи",РежимЗаписи);

в процедуре "ПередЗаписью" модуля объекта документа регистратора.

Далее уже на общем модуле по подписке на события данный параметр вы извлечете и обработаете у источника в дополнительных свойствах.