Запрет редактирования проводок по определенным счетам

10.09.15

Задачи пользователя - Адаптация типовых решений

Задача.  В финансовой службе часто сталкиваются с изменением проводок на счетах учета денежных средств задним числом. Необходимо запретить редактирование проводок по определенным счетам на определенную дату.

Решение задачи. 

Используемая конфигурация Инталев КМ6 (на самом деле неважно. Подход подойдет для любой конфигурации с Регистром бухгалтерии).

Создаем в конфигурации:

  1. Справочник для указания счетов и даты запрета (Сценарий - тонкость Инталева)
  2. Роль для изменения созданного справочника (по желанию)
  3. Подписку на событие для регистра бухгалтерии на событие перед записью. (Хозрасчетный также присутствует в источниках и отлично срабатывает, значит в обычной бухгалтерии тоже должно работать на ура) 
  4. Общий модуль. Со следующим содержанием. 
    Процедура Новард_РегистрБухгалтерииЗапретПроведенияПоСчетамПередЗаписью(Источник, Отказ, РежимЗаписи) Экспорт
    	
    	УстановитьПривилегированныйРежим(Истина);
    	
    	Попытка
    		ИмяРегистра     = Источник.Метаданные().Имя;
    		ЕстьСценарий    = Источник.Метаданные().Измерения.Найти("Сценарий") <> Неопределено;
    		ОтазВПроведении = Неопределено;
    		
    		//Проверить регистр до изменения
    		Набор = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
    		Набор.Отбор.Регистратор.Установить(Источник.Отбор.Регистратор.Значение);
    		Набор.Прочитать();
    		
    		Если  Набор.Количество() > 0 Тогда
    			ОтазВПроведении = ПроверитьВозможностьИзменения(Набор, ЕстьСценарий);
    		КонецЕсли;
    		
    		//Проверить регистр после изменения
    		Если  Источник.Количество() > 0 и ОтазВПроведении = Неопределено Тогда
    			ОтазВПроведении = ПроверитьВозможностьИзменения(Источник, ЕстьСценарий);
    		КонецЕсли; 
    		
    		Если ОтазВПроведении <> Неопределено Тогда				
    			Отказ = Истина;
    			ТекстОтказа = "Проведение по счету "+ОтазВПроведении.Счет+" запрещено настройкой "+ОтазВПроведении.Ссылка;
    			Сообщить(ТекстОтказа,СтатусСообщения.Важное);
    			//ВызватьИсключение ТекстОтказа;
    		КонецЕсли;
    		
    	Исключение
    		Информация=ИнформацияОбОшибке();
    		ВызватьИсключение "Отмена проведения "+Источник+" не была выполнена:"+Символы.ПС+Информация.Описание;
    	КонецПопытки;
    	
    КонецПроцедуры
    
    Функция ПроверитьВозможностьИзменения(Источник, ЕстьСценарий)
    	
    	УстановитьПривилегированныйРежим(Истина);
    
    	ТаблицаПроводок = Источник.Выгрузить(,);
    	
    	Если Не ЕстьСценарий Тогда
    		ТаблицаПроводок.Колонки.Добавить("Сценарий",         Новый ОписаниеТипов("СправочникСсылка.Инт_Сценарии"));
    	КонецЕсли;	
    
    	ТаблицаПроводок.Свернуть("Период,Сценарий,СчетДТ,СчетКт");
    		
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	Источник.Период,
    	               |	Источник.Сценарий,
    	               |	Источник.СчетДт,
    	               |	Источник.СчетКт
    	               |ПОМЕСТИТЬ ВТИсточник
    	               |ИЗ
    	               |	&Источник КАК Источник
    	               |;
    	               |
    	               |////////////////////////////////////////////////////////////////////////////////
    	               |ВЫБРАТЬ
    	               |	ВТИсточник.Период,
    	               |	ВТИсточник.СчетДт КАК Счет,
    	               |	ВТИсточник.Сценарий
    	               |ПОМЕСТИТЬ ВТСвернутыйИсточник
    	               |ИЗ
    	               |	ВТИсточник КАК ВТИсточник
    	               |
    	               |ОБЪЕДИНИТЬ
    	               |
    	               |ВЫБРАТЬ
    	               |	ВТИсточник.Период,
    	               |	ВТИсточник.СчетКт,
    	               |	ВТИсточник.Сценарий
    	               |ИЗ
    	               |	ВТИсточник КАК ВТИсточник
    	               |;
    	               |
    	               |////////////////////////////////////////////////////////////////////////////////
    	               |ВЫБРАТЬ
    	               |	Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Ссылка,
    	               |	Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Счет,
    	               |	Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Ссылка.ДатаВремяЗапрета
    	               |ИЗ
    	               |	Справочник.Новард_ДатыЗапретаПоСчетам.СчетаЗапрета КАК Новард_ДатыЗапретаПоСчетамСчетаЗапрета
    	               |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСвернутыйИсточник КАК ВТСвернутыйИсточник
    	               |		ПО Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Ссылка.ДатаВремяЗапрета > ВТСвернутыйИсточник.Период
    	               |			И Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Счет = ВТСвернутыйИсточник.Счет
    	               |			И (НЕ Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Ссылка.ПометкаУдаления)
    	               |			И Новард_ДатыЗапретаПоСчетамСчетаЗапрета.Ссылка.Сценарий = ВТСвернутыйИсточник.Сценарий";
    	
    	Запрос.УстановитьПараметр("Источник", ТаблицаПроводок);
    		
    	Результат = Запрос.Выполнить();
    	Выборка = Результат.Выбрать();
    	
    	Пока Выборка.Следующий() Цикл
    		Возврат Выборка;		
    	КонецЦикла;
    	
    	Возврат Неопределено;
    	
    КонецФункции	
p.s. Никаких изменений существующих объектов и модулей (снятие с поддержки не считается).

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    11386    34    15    

41

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

5500 руб.

07.02.2023    12199    114    20    

70

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    6589    2    2    

6

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    867    1    8    

2

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9760 руб.

17.06.2025    2769    8    0    

8

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9150 руб.

02.08.2023    7650    25    5    

41

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    933    1    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Alonarista 68 11.09.15 09:08 Сейчас в теме
ИМХО через регистр сведений будет работать быстрей, чем через справочник + при периодичном РСе можно без проблем устанавливать актуальность и активность запрета.
+ в конце можно переработать.
После выполнения запроса проверить его пустоту.
Если результат запроса не пустой - то отбирать результаты.
2. duhh 240 11.09.15 09:47 Сейчас в теме
(1) Alonarista, Согласен, нужно всегда писать правильно, даже несмотря на то, что на фоне проведения эта проверка занимает менее процента.
3. Kamikadze 46 11.09.15 10:03 Сейчас в теме
А почему не регистр сведений?
alekseineputin; Team leader; +2 Ответить
4. duhh 240 11.09.15 11:58 Сейчас в теме
(3) Kamikadze, На моем количестве запретов по счетам, не даст значимого прироста в быстродействии. (1) уже ответил, согласен, правильней использовать регистр. вместо справочника.

5. bydk 19.09.15 13:19 Сейчас в теме
Если ОтазВПроведении <> Неопределено Тогда 

ОтКаз? Опечатку поправьте...
6. duhh 240 20.09.15 01:01 Сейчас в теме
(5) bydk, Действительно очепятался, и так шесть раз. Но так как на работоспособность алгоритма не влияет, оставлю как есть.
Для отправки сообщения требуется регистрация/авторизация