Здравствуйте, как узнать и куда смотреть, чтоб найти на форме документа кнопку обращающуюся к Общему модулю ПроверкаДокументовКлиент?
Если в коротко, то я пытаюсь написать обработку в которой по периоду можно будет распровести все документы разом. Но столкнулся с кнопкой проверки, что не дает распроводить документы даже в режиме ОбменДанными = Истина. Как можно программно отжать эту кнопку на документе если ее нет ни в каком виде на форме документа в конфигураторе? Не понимаю как она вообще появляется
Если в коротко, то я пытаюсь написать обработку в которой по периоду можно будет распровести все документы разом. Но столкнулся с кнопкой проверки, что не дает распроводить документы даже в режиме ОбменДанными = Истина. Как можно программно отжать эту кнопку на документе если ее нет ни в каком виде на форме документа в конфигураторе? Не понимаю как она вообще появляется
По теме из базы знаний
- Использование общих модулей "Длительные операции" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса
- Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов
- Интеграция сервиса проверки идентификационных реквизитов юридических лиц по данным ЕГРН и 1С:Предприятие 8
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
- Отчеты с общей формой отчета. Типовые сценарии
Найденные решения
(9) Самый простой вариант - снести отметку проверки самому:
Если же хочется сохранить какую-либо информацию по установленной ранее отметке, то посмотрите в сторону программного интерфейса регистра сведений "СтатусыПроверкиДокументов" (модуль менеджера). Там можно найти несколько методов для управления статусом объектов.
ПроверкаДокументов = РегистрыСведений.СтатусыПроверкиДокументов.СоздатьНаборЗаписей();
ПроверкаДокументов.Отбор.Документ.Установить(ДокументСсылка);
ПроверкаДокументов.Записать();
Если же хочется сохранить какую-либо информацию по установленной ранее отметке, то посмотрите в сторону программного интерфейса регистра сведений "СтатусыПроверкиДокументов" (модуль менеджера). Там можно найти несколько методов для управления статусом объектов.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Кажется, что Вы заблуждаетесь, утверждая, что взведение флага "ОбменДанными.Загрузка" не отключает проверку. Вот кусочек кода модуля "ПроверкаДокументовСервер":
Процедура ПриИзмененииДокумента(Источник, Отказ) Экспорт
Если Источник.ОбменДанными.Загрузка ИЛИ Отказ
ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПроверкуДокументовПоРегламентированномуУчету")
ИЛИ Не ЭтотТипДокументаДолженПроверяться(ТипЗнч(Источник.Ссылка))
ИЛИ ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда
Возврат;
КонецЕсли;
.....
КонецПроцедуры
Показать
(6) Команда - безусловно. Но Вы ведь отменяете проведение документов без использования формы и в контексте сервера. Т.е. если и срабатывают проверки, то только по подпискам, а я как раз привел обработчик подписки.
Приведите, пожалуйста, фрагмент кода, который Вы используете для отмены проведения документа, а также текст ошибки, не дающей Вам это сделать. Нам будет легче Вам помочь разобраться, в чем же проблема.
Приведите, пожалуйста, фрагмент кода, который Вы используете для отмены проведения документа, а также текст ошибки, не дающей Вам это сделать. Нам будет легче Вам помочь разобраться, в чем же проблема.
(7)Процедура ЗаполнитьСтатьиНаСервере()
Для каждого Стр из ЭтаФорма.ТаблицаДокументов Цикл
Документ = Стр.Ссылка.ПолучитьОбъект();
Документ.ДополнительныеСвойства.Вставить(«ПроверкаДатыЗапретаИзменения», Ложь);
Документ.ОбменДанными.Загрузка = Истина;
Документ.Записать(РежимЗаписиДокумента.Отмена проведения);
КонецЦикла;
ОбновитьТаблицу();
КонецПроцедуры
Если я вписываю ОбменДанными = Истина, то ошибка «Действие не может выполняться в режиме загрузки данных»
Если убираю, то ошибка «N документ не может быть проведен, так как он проверен»
Единственное что смог добавить строку
Документ.Проведен = Дожь;
И изменил
Документ.Записать(РежимЗаписиДокумента.Запись)
Так я могу вписать все регистры и грубо разпровести документ, но хочется понять как это сделать адекватнее
Или как снять галочку проверки, потому что раньше не сталкивался с таким
Для каждого Стр из ЭтаФорма.ТаблицаДокументов Цикл
Документ = Стр.Ссылка.ПолучитьОбъект();
Документ.ДополнительныеСвойства.Вставить(«ПроверкаДатыЗапретаИзменения», Ложь);
Документ.ОбменДанными.Загрузка = Истина;
Документ.Записать(РежимЗаписиДокумента.Отмена проведения);
КонецЦикла;
ОбновитьТаблицу();
КонецПроцедуры
Если я вписываю ОбменДанными = Истина, то ошибка «Действие не может выполняться в режиме загрузки данных»
Если убираю, то ошибка «N документ не может быть проведен, так как он проверен»
Единственное что смог добавить строку
Документ.Проведен = Дожь;
И изменил
Документ.Записать(РежимЗаписиДокумента.Запись)
Так я могу вписать все регистры и грубо разпровести документ, но хочется понять как это сделать адекватнее
Или как снять галочку проверки, потому что раньше не сталкивался с таким
(9) Самый простой вариант - снести отметку проверки самому:
Если же хочется сохранить какую-либо информацию по установленной ранее отметке, то посмотрите в сторону программного интерфейса регистра сведений "СтатусыПроверкиДокументов" (модуль менеджера). Там можно найти несколько методов для управления статусом объектов.
ПроверкаДокументов = РегистрыСведений.СтатусыПроверкиДокументов.СоздатьНаборЗаписей();
ПроверкаДокументов.Отбор.Документ.Установить(ДокументСсылка);
ПроверкаДокументов.Записать();
Если же хочется сохранить какую-либо информацию по установленной ранее отметке, то посмотрите в сторону программного интерфейса регистра сведений "СтатусыПроверкиДокументов" (модуль менеджера). Там можно найти несколько методов для управления статусом объектов.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот