Какие есть варианты автоматического снятия резервов с заказов покупателей через 7 дней в УТ 10.3

1. user817897 2 14.03.19 14:00 Сейчас в теме
Подскажите пожалуйста, какие есть варианты автоматического снятия резервов с заказов покупателей через 7 дней в УТ 10.3? как лучше реализовать или может кто делал,поделитесь пожалуйста кодом.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SedovSU@mail.ru 297 14.03.19 14:22 Сейчас в теме
На сколько я помню в УТ 10 так и не реализован данный функционал. Вот в 11 вроде такое есть! Но точно не помню

Ну а если реализовывать самостоятельно. То нужно регламентное задание, которое бы формировала остатки по резерву, и высчитывала дату/дни нахождения в резерве
3. SedovSU@mail.ru 297 14.03.19 14:26 Сейчас в теме
4. user817897 2 14.03.19 14:36 Сейчас в теме
(3)я вот эту как раз обработку скачал но там не могу понять где устанавливать период, а так всё настроил как там и сказано,а сам издатель не отвечает
5. SedovSU@mail.ru 297 14.03.19 14:43 Сейчас в теме
(4) а вы коментарии почитайте. там вроде это описано как выставить количество дней


а где настроить через сколько дней чтобы снимался резерв?

4. 88wau24ru 17 14.03.19 13:55
(3)
В модуле обработки
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты = 11;//Число рабочих дней просроченной оплаты


Рабочих или календарных то что в константе
Константы.СпособКонтроляДнейЗадолженности.Получить()


Если используете рабочие то Регламентированный производственный календарь должен быть сформирован.
Дата от которой идёт отсчёт - это "Оплата" в документе Заказ покупателя
Показать
6. user817897 2 14.03.19 14:51 Сейчас в теме
(5)уже прочитал, но проблемс в том что мне надо подвязать не к дате оплаты,а к дате заказа,надо код переделывать наверно
7. SedovSU@mail.ru 297 14.03.19 14:58 Сейчас в теме
(6) ну тут нужно саму обработку ковырять, смотреть и разбираться в ней. А в самой обработке же на картинке видно что есть некий вариант отбора, там нет возможности выбрать для вашего варианта?
8. user817897 2 14.03.19 15:06 Сейчас в теме
(7)нету,в том то и дело. если только зайти в саму форму и там отредактировать,я так понимаю что где-то в коде прописано это,но кода там дофига) код чужой можно скидывать в форум?
9. user817897 2 14.03.19 15:27 Сейчас в теме
(7)
вот тут часть кода
ЗакрытиеЗаказовПокупателей						= Документы.ЗакрытиеЗаказовПокупателей.СоздатьДокумент();
	ЗакрытиеЗаказовПокупателей.ВидОперации			= Перечисления.ВидыОперацийЗакрытиеЗаказовПокупателей.СнятиеРезервов;
	ПользовательДляВыполненияРегламентныхЗаданий	= Константы.ПользовательДляВыполненияРегламентныхЗаданийВФайловомВариант­е.Получить();
	ЗакрытиеЗаказовПокупателей.Подразделение		= УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПользовательДляВыполненияРегламентныхЗаданий, "ОсновноеПодразделение");
	ЗакрытиеЗаказовПокупателей.Ответственный		= ПользовательДляВыполненияРегламентныхЗаданий;
	
	ЗакрытиеЗаказовПокупателейФорма = ЗакрытиеЗаказовПокупателей.ПолучитьФорму("ФормаДокумента");
	//ЗакрытиеЗаказовПокупателейФорма.Открыть();//Разкоментируйте для проверки (!!!!!1)
	
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов 								= ЗакрытиеЗаказовПокупателей.ПолучитьФорму("ФормаОтбораЗаказов", ЗакрытиеЗаказовПокупателейФорма,);
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ВариантОтбораПоВидуОперации	= Перечисления.ВидыОперацийЗакрытиеЗаказовПокупателей.СнятиеРезервов;
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДокументОбъект					= ЗакрытиеЗаказовПокупателей;
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.Открыть();
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаНач						= ДобавитьМесяц(ТекущаяДата(), -3);
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаКон						= НачалоДня(ТекущаяДата())-1;
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты			= 11;//Число рабочих дней просроченной оплаты
	//ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПричинаЗакрытия				= Справочники.ПричиныЗакрытияЗаказов.ПолучитьСсылку(Новый УникальныйИдентификатор("d11d6223-f487-11e6-b485-0cc47a6c5738"));
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПостроительОтчета.Отбор.Сбросить();
	ПостроительОтчета = ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПостроительОтчета;

	
 (Нажатие на кнопку "Заполнить")
	// Заполним Построитель параметрами из полей формы и выполним отбор
	ДатаНачала = НачалоДня(ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаНач);
	ДатаОкончания = КонецДня(ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаКон);
	

	//ЗаполнитьПараметрыПостроителя(ПостроительОтчета);

		// Заполним параметры построителя
		ПостроительОтчета.Параметры.Вставить("НаличиеРезервов", 		ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.НаличиеРезервов);
		ПостроительОтчета.Параметры.Вставить("РазмещениеРезервов", 		ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.РазмещениеРезервов);
		ПостроительОтчета.Параметры.Вставить("СостояниеОплаты", 		ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.СостояниеОплаты);
		ПостроительОтчета.Параметры.Вставить("СостояниеОтгрузки", 		ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.СостояниеОтгрузки);
		ПостроительОтчета.Параметры.Вставить("СрокОплатыСравнение", 	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.СрокОплатыСравнение);
		ПостроительОтчета.Параметры.Вставить("СрокОтгрузкиСравнение", 	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.СрокОтгрузкиСравнение);
		
		ПостроительОтчета.Параметры.Вставить("ДатаНач", 		ДатаНачала);
		ПостроительОтчета.Параметры.Вставить("ДатаКон", 		ДатаОкончания);
		ПостроительОтчета.Параметры.Вставить("ДатаОплаты", 		ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаОплаты);
		ПостроительОтчета.Параметры.Вставить("ДатаОтгрузки", 	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаОтгрузки);
		ПостроительОтчета.Параметры.Вставить("ТекущаяДата", 	ТекущаяДата());
		ПостроительОтчета.Параметры.Вставить("ПустаяДата",  	Дата('00010101'));
		ПостроительОтчета.Параметры.Вставить("ПричинаЗакрытияЗаказа", 		ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПричинаЗакрытия);
		Если Константы.СпособКонтроляДнейЗадолженности.Получить() = Перечисления.СпособыКонтроляДнейЗадолженности.ПоКалендарнымДням Тогда
			ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОплаты", 	НачалоДня(ТекущаяДата()-24*60*60*ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты));
			ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОтгрузки", 	НачалоДня(ТекущаяДата()-24*60*60*ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОтгрузки));
		Иначе
			Запрос = Новый Запрос;
			Запрос.УстановитьПараметр("НачГода",НачалоГода(ТекущаяДата()));
			Запрос.УстановитьПараметр("КонГода",КонецГода(ТекущаяДата()));
			Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
			               |	РегламентированныйПроизводственныйКалендарь.Год
			               |ИЗ
			               |	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
			               |ГДЕ
			               |	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачГода И &КонГода";
				РезультатЗапроса = Запрос.Выполнить();
				Если РезультатЗапроса.Пустой() Тогда
					Если ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.СрокОтгрузкиСравнение = 2 или ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.СрокОплатыСравнение = 2 Тогда
						Сообщить("Не заполнен Регламентированный производственный календарь за "+Год(ТекущаяДата())+" год.");
						Сообщить("Дата, ранее которой заказы просрочены, рассчитана по календарным дням.");
					КонецЕсли;
					ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОплаты", 	НачалоДня(ТекущаяДата()-24*60*60*ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты));
					ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОтгрузки", 	НачалоДня(ТекущаяДата()-24*60*60*ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОтгрузки));
				Иначе
					ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОплаты", 	ЗаполнениеДокументов.ОпределитьДату(НачалоДня(ТекущаяДата()),-ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты));
					ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОтгрузки", 	ЗаполнениеДокументов.ОпределитьДату(НачалоДня(ТекущаяДата()),-ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОтгрузки));
				КонецЕсли;
		КонецЕсли;
		ПостроительОтчета.Выполнить();
Показать



я так понимаю что тут собака зарыта?
10. user817897 2 10.11.20 13:32 Сейчас в теме
Спасибо всем, Тема закрыта.
Оставьте свое сообщение

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