Отключение контроля остатков по организациям в УНФ 1.6
В УНФ клиент попросил отключить контроль остатков по организациям, чтобы остатки контролировались только по складу, а не по организации.
Я начал искать, где контролируются остатки и обнаружил странное и страшное — для каждого документа прописывается свой контроль остатков в модуле менеджера документа в процедуре ВыполнитьКонтроль.
Поэтому тестово сделал для реализации. Сразу за текстом запроса корректирую текст запроса:
//Осипов 2023-08-29 отключаем контроль остатков по организациям Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияПрослеживаемыеТоварыИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗапасыПринятыеВРазрезеГТДИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияРасчетыСПокупателямиИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "РасчетыСПокупателямиОстатки.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияПотребностьВЗапасахИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПотребностьВЗапасахОстатки.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЗаказыПоставщикамОстатки.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗаказыПоставщикамИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЗаказыПокупателейОстатки.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗаказыПокупателейИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЗапасыПринятыеОстатки.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗапасыПринятыеИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЗапасыПереданныеОстатки.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗапасыПереданныеИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗапасыНаСкладахИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)"); Запрос.Текст = СтрЗаменить(Запрос.Текст, "ДвиженияЗапасыИзменение.Организация", "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)");
Потом еще дополнительно меняю параметр МассивОрганизаций, устанавливаю пустую организацию:
// Интеркампани Запрос.УстановитьПараметр("МассивОрганизаций", РегистрыСведений.НастройкаПередачиТоваровМеждуОрганизациями.ПолучитьСписокОрганизацийДляОстатков(ДополнительныеСвойства.ДляПроведения.Организация) ); Запрос.УстановитьПараметр("ПередачаТоваровМеждуОрганизациями", ДополнительныеСвойства.УчетнаяПолитика.ПередачаТоваровМеждуОрганизациями); // Конец Интеркампани //Осипов - указываем пустую организацию М = Новый Массив(); М.Добавить(Справочники.Организации.ПустаяСсылка()); Запрос.УстановитьПараметр("МассивОрганизаций", М); МассивРезультатов = Запрос.ВыполнитьПакет();
По идее, должно работать, попросил клиента потестировать.
Среда: УНФ 1.6.26.172 Объем: 1.5 час
Свежие комментарии