Хитрый обход контроля остатков в УНФ3

Добавил возможность добавления в списание услуг.

При этом УНФ начала ругаться на контроль остатков.

Захотел отключить, но оказалось это не простое дело.

В контроль приходит только представление товара и не ясно, услуга это или нет.

Можно было бы поменять текст запроса, но там только через изменение и контроль. Не хотелось.

Поэтому просто исключил из временных таблиц контроля строки по услугам.

Элегантно расширяю модуль менеджера документа СписаниеЗапасов:


&Вместо("ВыполнитьКонтроль")
Процедура дорарнд_ВыполнитьКонтроль(ДокументСсылкаСписаниеЗапасов, ДополнительныеСвойства, Отказ, УдалениеПроведения)
	Запрос = Новый Запрос();                                                                       
	СтруктураВременныеТаблицы = ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы;
	Запрос.МенеджерВременныхТаблиц = СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;            
	
	
	дорарнд_Проверить(Запрос, "ДвиженияЗапасыНаСкладахИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияЗапасыИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияЗапасыВРазрезеГТДИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияСерииНоменклатурыИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияПрослеживаемыеТоварыИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияЗапасыПринятыеИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияЗапасыПринятыеВРазрезеГТДИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияЗапасыКРасходуСоСкладовИзменение");  
	дорарнд_Проверить(Запрос, "ДвиженияСерииНоменклатурыКРасходуИзменение");            
	
	ПродолжитьВызов(ДокументСсылкаСписаниеЗапасов, ДополнительныеСвойства, Отказ, УдалениеПроведения);
КонецПроцедуры          

Процедура дорарнд_Проверить(Запрос, ИмяТаблицы);                                                   
	//Удаляем услуги из контролей
	Запрос.Текст = 
	"ВЫБРАТЬ Т.* ПОМЕСТИТЬ  ТПРОМ ИЗ " + ИмяТаблицы + " КАК Т ГДЕ Т.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга);
	|УНИЧТОЖИТЬ " + ИмяТаблицы + ";
	|ВЫБРАТЬ Т.* ПОМЕСТИТЬ  " + ИмяТаблицы + " ИЗ ТПРОМ КАК Т;
	|УНИЧТОЖИТЬ ТПРОМ";
	Запрос.Выполнить();
КонецПроцедуры 

Среда: УНФ 3.0.11.135 Объем: 1 час

image_pdfimage_print

fixin

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

Вам может также понравиться...

комментария 2

  1. rzd:

    А зачем в списание добавлять услуги?
    Это научный подход?

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

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