Общий модуль проверки

1. Saburra 06.06.19 13:55 Сейчас в теме
Здравствуйте, как узнать и куда смотреть, чтоб найти на форме документа кнопку обращающуюся к Общему модулю ПроверкаДокументовКлиент?
Если в коротко, то я пытаюсь написать обработку в которой по периоду можно будет распровести все документы разом. Но столкнулся с кнопкой проверки, что не дает распроводить документы даже в режиме ОбменДанными = Истина. Как можно программно отжать эту кнопку на документе если ее нет ни в каком виде на форме документа в конфигураторе? Не понимаю как она вообще появляется
По теме из базы знаний
Найденные решения
10. dhurricane 06.06.19 15:00 Сейчас в теме
(9) Самый простой вариант - снести отметку проверки самому:
ПроверкаДокументов = РегистрыСведений.СтатусыПроверкиДокументов.СоздатьНаборЗаписей();
ПроверкаДокументов.Отбор.Документ.Установить(ДокументСсылка);
ПроверкаДокументов.Записать();

Если же хочется сохранить какую-либо информацию по установленной ранее отметке, то посмотрите в сторону программного интерфейса регистра сведений "СтатусыПроверкиДокументов" (модуль менеджера). Там можно найти несколько методов для управления статусом объектов.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. dhurricane 06.06.19 14:07 Сейчас в теме
(1) Кажется, что Вы заблуждаетесь, утверждая, что взведение флага "ОбменДанными.Загрузка" не отключает проверку. Вот кусочек кода модуля "ПроверкаДокументовСервер":
Процедура ПриИзмененииДокумента(Источник, Отказ) Экспорт
	
	Если Источник.ОбменДанными.Загрузка ИЛИ Отказ
		ИЛИ Не ПолучитьФункциональнуюОпцию("ИспользоватьПроверкуДокументовПоРегламентированномуУчету")
		ИЛИ Не ЭтотТипДокументаДолженПроверяться(ТипЗнч(Источник.Ссылка))
		ИЛИ ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда
		Возврат;
	КонецЕсли;
	
	.....
	
КонецПроцедуры
Показать
6. Saburra 06.06.19 14:36 Сейчас в теме
(3)Вы правы, но это кусочек модуля ПроверкаДокументовСервер, а я по ошибкам прочитал, что в моем документе команда выводится из модуля ПроверкаДокументовКлиент именно
7. dhurricane 06.06.19 14:39 Сейчас в теме
(6) Команда - безусловно. Но Вы ведь отменяете проведение документов без использования формы и в контексте сервера. Т.е. если и срабатывают проверки, то только по подпискам, а я как раз привел обработчик подписки.

Приведите, пожалуйста, фрагмент кода, который Вы используете для отмены проведения документа, а также текст ошибки, не дающей Вам это сделать. Нам будет легче Вам помочь разобраться, в чем же проблема.
9. Saburra 06.06.19 14:49 Сейчас в теме
(7)Процедура ЗаполнитьСтатьиНаСервере()
Для каждого Стр из ЭтаФорма.ТаблицаДокументов Цикл
Документ = Стр.Ссылка.ПолучитьОбъект();
Документ.ДополнительныеСвойства.Вставить(«ПроверкаДатыЗапретаИзменения», Ложь);
Документ.ОбменДанными.Загрузка = Истина;
Документ.Записать(РежимЗаписиДокумента.Отмена проведения);
КонецЦикла;
ОбновитьТаблицу();
КонецПроцедуры

Если я вписываю ОбменДанными = Истина, то ошибка «Действие не может выполняться в режиме загрузки данных»
Если убираю, то ошибка «N документ не может быть проведен, так как он проверен»
Единственное что смог добавить строку
Документ.Проведен = Дожь;
И изменил
Документ.Записать(РежимЗаписиДокумента.Запись)
Так я могу вписать все регистры и грубо разпровести документ, но хочется понять как это сделать адекватнее
Или как снять галочку проверки, потому что раньше не сталкивался с таким
10. dhurricane 06.06.19 15:00 Сейчас в теме
(9) Самый простой вариант - снести отметку проверки самому:
ПроверкаДокументов = РегистрыСведений.СтатусыПроверкиДокументов.СоздатьНаборЗаписей();
ПроверкаДокументов.Отбор.Документ.Установить(ДокументСсылка);
ПроверкаДокументов.Записать();

Если же хочется сохранить какую-либо информацию по установленной ранее отметке, то посмотрите в сторону программного интерфейса регистра сведений "СтатусыПроверкиДокументов" (модуль менеджера). Там можно найти несколько методов для управления статусом объектов.
4. tusv 212 06.06.19 14:29 Сейчас в теме
(1)Если у вас режим Обменданными.Загрузка = Истина, то просто очищайте Движения и Запишите Проведен = Ложь
5. Saburra 06.06.19 14:34 Сейчас в теме
(4)Я так и подумал в итоге сделать, но хотел разобраться с работой и получением процедур из Общих модулей
И ничего ведь не нарушится при ручном удалении движений?
8. tusv 212 06.06.19 14:46 Сейчас в теме
(5)Ну можно жешь в транзакции код очистки написать, тогда точно не будет каких то косяков
2. mrx2012 06.06.19 14:00 Сейчас в теме
Если известно какая процедура /функция вызывается в модуле ПроверкаДокументовКлиент , то можно поставить точку отладки а потом посмотреть стек вызовов
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот