Защита документа от смены организации при загрузке из Мой Склад в 1С

К сожалению, 1С при загрузке документов из файла Enterprise Data, ищет документы только по номеру, игнорируя организацию. Поэтому, если в БП3 ведется несколько организаций, возможна ситуация, когда документ организации будет заменен документом другой организации, даже если он находится в уже глубоко закрытом квартале.

Конечно, такое может быть не часто, но у одного из моих клиентов такая ситуация очень удачно «выстрелила», хорошо, что нашелся архив. Выживают только параноики, поэтому если вы загружаете данные из Мой склад, чтобы спать спокойно, нужно использовать расширение, которое контролирует попытки заменить организацию документа и пресекает их.

При попытке изменить организацию будет сгенерирована ошибка, как при загрузке из файла, так и при изменении пользователем:

Код расширения простой:

Процедура зоио_ПередЗаписьюПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
	Ссылка = Источник.Ссылка;      
	СО_Текущая = Новый Структура("Организация",);
	СО_Предыдущая = Новый Структура("Организация",);
	
	Если ЗначениеЗаполнено(Ссылка) Тогда 
		ЗаполнитьЗначенияСвойств(СО_Текущая, Источник);
		ЗаполнитьЗначенияСвойств(СО_Предыдущая, Ссылка);
		Если 
			ЗначениеЗаполнено(СО_Текущая.Организация) и 
			ЗначениеЗаполнено(СО_Предыдущая.Организация) И
			СО_Текущая.Организация <> СО_Предыдущая.Организация Тогда
			Текст = "Отклонена попытка изменить организацию документа: " +  Ссылка + " с: " + СО_Предыдущая.Организация + " на: " + СО_Текущая.Организация; 
			Сообщить(Текст);
			ВызватьИсключение Текст;
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

Нужно заметить, что расширение будет работать только в последних релизах 1С, т.к. в расширении добавлена подписка на событие, а это не поддерживается старыми релизами БП3 из-за режима совместимости.

Среда: БП 3.0.128.10. Платформа: 8.3.22.1709. Объем 0.6 час.

Купить у меня за 1200 руб.


fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *