arefaste/1C_Forums huggingface dataset:
Всем доброго время суток.
Есть документ "Платежное поручение исходящее" в которой для каждой организации ведется своя нумерация.
Нумерация заполняется автоматически и создается по принципу "наибольший текущий номер +1". У каждой
организации есть свои префикс.

Пример:

последний документ с номером ЛП000000200, следующий создается с номером ЛП000000201.

Вследствии времени префикс номера сменили на другой(Лпл00000124), потом захотели обратно, НО!
Номер остается с тем же префиксом, и послеидущем по порядку - Лпл00000125.

Какие методы использовал:

1. Вручную указывать нужный мне номер - следующий автоматически не проставляется;
2. ОбновитьНумерациюОбъектов() - не помогает(с указанием метаданных тоже);
3. Перенумерация с помощью обработки УниверсальныеПодборИОбработкаОбъектов - делал, новый префикс работает отлично,
при возвращении к старому - снова номер Лпл00000125;
4. УстановитьНовыйНомер() - возвращает Лпл00000125.
---
В общем сделал вот что:

1. Обработкой "УниверсальныеПодборИОбработкаОбъектов" проставил новый префикс ЛПО;
2. Создал новый документ и вручную его установил;
3. Сделал "ОбновитьНумерациюОбъектов";
4. Повторил шаг 2;

и в последующих документах мой префикс начал подставляться.

Как оно работает?))
---
Попробуйте изменить префикс организации на ЛП0 (Л-П-ноль)
По идее, следующий номер должен присвоиться корректно.
В следующем году уберете обратно, и больше так не делайте. Если есть вероятность, что вам придется вставлять "экстра" номера в нумерацию - лучше при записи первого документа в новом году удалить пару нулей, и если надо, дописывать буквы, звездочки и т.п. в конец номера, удлиняя его за счет свободных знаков.

ЛП000001
ЛП000002
ЛП000003
ЛП000003а
.... следующий будет сам
ЛП000004
---
Не, не отработало тоже.
---
есть команда удаления сохраненного номера
---
если можно, подскажите, буду очень благодарен
---
да собственно вы в п2 ее назвали - с параметром Метаданные.Документы.ВашДокумент

если у вас после этого установить номер дает Лпл00000125 значит смотрите внимательно есть документ с номером Лпл00000124
---
Просто думал мало ли, может еще что то есть, о чем не слышал.

Да, документ есть - но он для другой организации используется, и соответственно, нумерация, тоже.
---
В общем сделал вот что:

1. Обработкой "УниверсальныеПодборИОбработкаОбъектов" проставил новый префикс ЛПО;
2. Создал новый документ и вручную его установил;
3. Сделал "ОбновитьНумерациюОбъектов";
4. Повторил шаг 2;

и в последующих документах мой префикс начал подставляться.

Как оно работает?))
---
Здравствуйте!
Бухгалтерия государственного учреждения 1.

Не нашла обработку
УниверсальныеПодборИОбработкаОбъектов,

Не подскажите - где ее брать, спасибо!
---
У нас установлена Бухгалтерия для Беларуси на 8.2 версии клиента 1с. В сервисе имеется такой раздел "Настройка стратегии редактирования номеров (кодов) объектов. Так вот после исправления нумерации нажимал кнопку "Обновить нумерацию" - текущего объекта. Только тогда продолжилась нормальная нумерация. Надеюсь помог :)
---
благодарю, но у меня КА 1.1.
Но может быть кому нибудь пригодится)
Доброго времени суток!

ЗКГУ 3.1 3.1.16.77
В реестрах стимулирующих выплат медицинским и социальным работникам лицевые счета по-прежнему заполняются не корректно. Написал обработку для заполнения реестра актуальными счетами. Проблема в том, что данные не сохраняются, но если номер счета был откорректирован руками ранее, то в этом случае обработка отрабатывает, то есть счет успешно обновляется сохраняется, вот. Там что-то с фиксацией реквизитов. Кто-нибудь сталкивался? Как обойти эту фиксацию?

Код написал такой:

```1c
    Процедура ЗаполнитьЛицевыеСчетаНаСервере()

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

    КонецПроцедуры
```
---
В итоге в модуле менеджера этого документа в функции ФиксируемыеРеквизиты() закоментил строчку:

```1c
    //ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерЛицевогоСчета");
```

Теперь лицевой счет сохраняется. Но пришлось снять с поддержки конфу.
---
В итоге в модуле менеджера этого документа в функции ФиксируемыеРеквизиты() закоментил строчку:

```1c
    //ФиксацияВторичныхДанныхВДокументах.ДобавитьФиксируемыйРеквизит(ФиксируемыеРеквизиты, Шаблон, "НомерЛицевогоСчета");
```

Теперь лицевой счет сохраняется. Но пришлось снять с поддержки конфу.
Доброго.

Управляемые формы. Платформа: 8.3.13.1644

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

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

Что пробовал:
- перезайти в документ;
- ОбновитьОтображениеДанных();
- (на сервере) выгрузить табличную часть в таб. значений, очистить таб. часть, загрузить заново;
- ЭтаФорма.Прочитать();

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

На форме к табличной части добавлю колонку. При открытии и прочих изменениях (где это нужно), буду самостоятельно обновлять данные в колонке.
---
это про то же https://forum.infostart.ru/forum9/topic166958/ ?
---
Сбросите кеш на сервере или на клиенте) Могу предоставить обработку
---
Нет, другое.
---
Переделаю по другому, чуть больше кода, зато нет описанных проблем.

На форме к табличной части добавлю колонку. При открытии и прочих изменениях (где это нужно), буду самостоятельно обновлять данные в колонке.
Всем привет!Подскажите как отладить ВПФ,которая формируется при компоновке внешнего отчета
---
На время отладки можете использовать существующий файл внешнего отчета, в котором можете сделать нужные точки останова:

```1c
    //УФ = ПолучитьИмяВременногоФайла();
    //ДвоичныйДанные = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("УФ").ХранилищеОбработки.Получить();
    //ДвоичныйДанные.Записать(УФ);
    //Отчет = ВнешниеОтчеты.Создать(УФ);
    Отчет = ВнешниеОтчеты.Создать(ПолноеИмяФайлаВнешнегоОтчета);
    Отчет.УстановитьФильтр(ФильтрСоответствия);
    Отчет.СкомпоноватьРезультат(ТабДокумент);
```
---
Простой, но тупой способ:

1) Ставишь остановку по ошибке

2) В коде ВПФ вместо точки остановки ставишь

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

```1c
    //УФ = ПолучитьИмяВременногоФайла();
    //ДвоичныйДанные = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("УФ").ХранилищеОбработки.Получить();
    //ДвоичныйДанные.Записать(УФ);
    //Отчет = ВнешниеОтчеты.Создать(УФ);
    Отчет = ВнешниеОтчеты.Создать(ПолноеИмяФайлаВнешнегоОтчета);
    Отчет.УстановитьФильтр(ФильтрСоответствия);
    Отчет.СкомпоноватьРезультат(ТабДокумент);
```
---
Что то не хочет робить(Ошибка подключения внешних метаданных
по причине:
Файл не обнаружен C:\Users\NV\Desktop\УФ.erf
---
Отладку делаете на клиент-серверной базе?
---
да
---
Путь к файлу внешнего отчета используется на сервере, то есть файл отчета должен лежать в файловой системе сервера. Либо отладку делайте в файловой базе, либо конфигуратор запускайте на сервере.
---
Хорошо,попробую)Спасибо,большое)Я конечно,уже так без отладки все переделала,но на будущее буду знать ,как выкрутиться)
Осуществляю разборку внешних обработок с помощью команды "/DumpExternalDataProcessorOrReportToFiles".

На одном компьютере, где установлена одна платформа "8.3.14.1976" выполнение команды через "ЗапуститьПриложение" осуществляется без отображения окна запуска конфигуратора 1с.

```1c
    СтрокаПодключения = ""C:\Program Files\1cv8\8.3.14.1976\bin\1cv8.exe" DESIGNER /DumpExternalDataProcessorOrReportToFiles "D:\1c\test\ТестоваяОбработка\" "D:\1c\Обработки\ТестоваяОбработка.epf"";
    ЗапуститьПриложение(СтрокаПодключения,, Истина);
```

На другом компьютере установлено две платформы: "8.2.19.130" и "8.3.18.1128". И когда я выполняю почти аналогичный код, появляется окно запуска конфигуратора и сбивается активное окно программы.

```1c
    СтрокаПодключения = ""C:\Program Files (x86)\1cv8\8.3.18.1128\bin\1cv8.exe" DESIGNER /DumpExternalDataProcessorOrReportToFiles "D:\1c\test\ТестоваяОбработка\" "D:\1c\Обработки\ТестоваяОбработка.epf"";
    ЗапуститьПриложение(СтрокаПодключения,, Истина);
```

Как я понял, при выполнении подобных команд осуществляется запуск пустой базы 1с EmptyIB. На первом компьютере эта база создаётся по пути "%userprofile%\AppData\Roaming\1C\1cv8\EmptyIB", и создаётся полностью автоматически. На втором компьютере она создаётся по пути "%userprofile%\AppData\Roaming\1C\1Cv82\EmptyIB", а при создании интерактивно запрашивает разрешение на своё создание.

Как осуществить выполнение команды на втором компьютере так же как и на первом?

Пробовал запускать выполнение кода и с платформы "8.3.18.1128" и с "8.2.19.130" - результат одинаковый. Пробовал воспользоваться

```1c
    WshShell = Новый COMОбъект("WScript.Shell");
    WshShell.Run(ТекстСкрипта, 0, 1);
```

но и это не помогло - окно запуска отображается.
---
Как оказалось всё проще некуда. Запуск с ключами "/DisableStartupDialogs /DisableStartupMessages" отключает отображение окна запуска, а так же создаёт базу "EmptyIB" без лишних вопросов.
---
А винда везде 64-х? Потому что я вижу, как в одном случае запускается 32-битная платформа, а в другом 64-битная...
---
, да, винда везде 64-х. Да, на одном компе 1с 64 битная, а на другом 32.
---
Как оказалось всё проще некуда. Запуск с ключами "/DisableStartupDialogs /DisableStartupMessages" отключает отображение окна запуска, а так же создаёт базу "EmptyIB" без лишних вопросов.
Привет всем.

У Меня обычные формы.

Есть токен Wildbiriess выданный для работы со склада поставщика.

В описании АПИ пишут следующее:

При вызове каждого метода должен передаваться заголовок X-Auth-Token с выданным токеном.
Production URL: https://suppliers-orders.wildberries.ru
Получить все заказы позже указанного времени:
GET /api/v1/orders?date_start=2020-09-14T00:00:00+03:00

Делаю следующее:

```1c
    Токен = "хххххххххххххххххххххх";
    Заголовки=новый Соответствие();
    Заголовки.Вставить("X-Auth-Token",Токен);
    Заголовки.Вставить("Content-Type","application/json");

    SSL_Соединение=Новый ЗащищенноеСоединениеOpenSSL();
    HttpСоединение=новый HttpСоединение("suppliers-orders.wildberries.ru",,,,,,SSL_Соединение);
    Сервис="/api/v1/orders?date_start=2020-12-01T00:00:00+03:00";

    HTTPЗапрос=новый HttpЗапрос(сервис,заголовки);
    ответ=новый структура;
    HttpОтвет=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);

    Результат=HttpОтвет.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
```

HttpОтвет.КодСостояния получаю 404
Результат соответственно путой
---
ОтправитьДляОбработки - POST запрос, а раз нужен GET, то

```1c
    HttpОтвет=HTTPСоединение.Получить(HTTPЗапрос);
```
---
ОтправитьДляОбработки - POST запрос, а раз нужен GET, то

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

```1c
    Макет = УправлениеПечатью.МакетПечатнойФормы("Обработка.ПечатьТТН.ПФ_MXL_ТТН");
```
---
Макет = ПолучитьМакет("ПФ_MXL_ТТН");
---
Макет = ПолучитьМакет("ПФ_MXL_ТТН");
Доброго вечера. Поделитесь опытом, как можно запретить просмотр остатков товаров в УТ 11.4 на период инвентаризации конкретным лицам? Может быть кто-то сталкивался с такой задачей. Пока в голове только отключение подробных отчетов по складам.
---
Можно другим путем пойти, своему отделу учета я такое предложил. Скомпрометировать остатки. То есть за день до инвентаризации сделать частичное списание и оприходование. И если остатки совпадут, значит склад по факту не проводит инвентаризацию, а подбивает остатки.
Главное учесть это в оперативном учете, что бы товар не был продан клиенту, ведь его нет по факту (если оприходование).
---
Придется делать доработку программы. Так как кроме множество отчетов, где можно посмотреть остатки, есть еще различные варианты.
Подбор
Вспомогательная информация в разных местах
Сама инвентаризация
Заполнение документов по остатку на складе
и прочее и прочее
---
В общем нерешаемая задача в условиях пары дней на её исполнение...
---
Может роль добавить с видимостью и отключать ее на время
---
Только видимость не поможет, в некоторых местах может программно выводится остаток, то есть используется только роль чтение.
Например, заполнить по остатку, нужна роль только на чтение.
---
В УТ 10.3 у меня ушло два или три дня на выпиливание вывода остатков. И то есть подозрение, что где то пропустил, так как уж больно точные цифры по инвентаризации выпадают. Но опять же, можно выпилить везде, а потом заполнить документ и провести и система выдаст сколько фактически на складе, смотреть не удобно, но если очень надо, то видно.
А в УТ 11 все сложнее ибо конфигурация сама по себе устроена сложнее и кода больше.
---
Можно другим путем пойти, своему отделу учета я такое предложил. Скомпрометировать остатки. То есть за день до инвентаризации сделать частичное списание и оприходование. И если остатки совпадут, значит склад по факту не проводит инвентаризацию, а подбивает остатки.
Главное учесть это в оперативном учете, что бы товар не был продан клиенту, ведь его нет по факту (если оприходование).
---
костыль но все же)))
Делаем Константу новую "Блевную"(булево).
И по истине для юзера открываем кастрированную форму, в которой есть всего несколько кнопок инвентаризация и создать документ)))
Да мороки много, думаю при знаниях и умениях за теже 2 дня активной писанины можно написать форму нового рабочего места.

Получается при запуске 1С программа проверяет наличие у Юзера в профиле этой галки, если она есть запускается новая форма и Юзер работает в ней.
А если ложь, то собственно работает в обычном привычном интерфейса с полным функционалом)))
---
Да там помимо рабочего места есть ещё и директора филиалов и кладовщики, которым тоже желательно бы закрыть, в общем переделывать много придется
---
а ну раз процедурка не разовая, то да)))
Проектик интересный и на долго)))
---
Неплохая идея, подумаем, спасибо
---
Если данные люди не выписываю первичку, то можно просто закрыть через RLS нужные склады.
Уважаемые форумчане, здравствуйте!

В расширении создал справочник в нем создал тч с реквизитами Доп.реквизит и значение. Но в расширении не получается указать тип Характеристика.ДополнительныеРеквизитыИСведения. Как в расширении работать с пвх и можно ли в расширении указать тип Характеристика.ДополнительныеРеквизитыИСведения ?
---
Никак. На текущий момент времени работа с доп.атрибутами в расширениях не возможна.
---
Никак. На текущий момент времени работа с доп.атрибутами в расширениях не возможна.
---
ого, очень печально((
---
Добрый вечер. Подскажите, на конец 2020 изменилась ли ситуация в расширении с типом "Характеристика.Дополнительных реквизитовИСвойств"? Спасибо за ответ или интересные ссылки.
Добрый день. Прошу прощения за "баян" но очень срочный вопрос.
Вдруг перестало работать сом-соединение из 8.3 (БП) к 7.7. Еще вчера работало, а сегодня стало выдавать ошибку:
"Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается"
Причем выдает это только на сервере, на клиенте нормально коннектится. Компонента comcntr.dll зарегистрирована, права никто не менял... Проблема еще в том, что я в этой фирме - человек новый, все это настраивалось до меня, а предшественник вне зоны доступа, так что я в растерянности - куда копать.
Коллеги. выручайте!
---
Вопрос решился перезагрузкой сервера.
---
Пробовали? https://helpf.pro/faq/view/1535.html
Пуск - Выполнить - DCOMCNFG.
"Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Настройка DCOM".
V77.GeneralPropPage и V77.SalaryPropPage.
На закладке "Безопасность" установить необходимые права для того, от чьего имени запускается сервер 1С
---
Пробовал - без толку... Тем более что V77.SalaryPropPage в моем случае просто нет...
---
Вопрос решился перезагрузкой сервера.
Здравствуйте!
Дано: типовой документ Командировка, конфигурация ЗУП 3.1.
Задача: добавить кнопку "отменить", модифицировать документ таким образом, чтобы при нажатии на неё, сторнировались все движения документа по регистрам, и документ блокировался от изменения.
При этом документ должен иметь статус "проведен".

Подскажите пожалуйста, каким образом правильно решить эту задачу?
---
Решил таким способом:

```1c
    ДокументОбъект = РеквизитФормыВЗначение("Объект");
    Для каждого Набор из ДокументОбъект.Движения Цикл
    Набор.Очистить();
    Набор.Записать();
    КонецЦикла;
```
---
Здравствуйте!
Дано: типовой документ Командировка, конфигурация ЗУП 3.1.
Задача: добавить кнопку "отменить", модифицировать документ таким образом, чтобы при нажатии на неё, сторнировались все движения документа по регистрам, и документ блокировался от изменения.
При этом документ должен иметь статус "проведен".

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

```1c
    ДокументОбъект = РеквизитФормыВЗначение("Объект");
    Для каждого Набор из ДокументОбъект.Движения Цикл
    Набор.Очистить();
    Набор.Записать();
    КонецЦикла;
```