Какие есть варианты автоматического снятия резервов с заказов покупателей через 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 Сейчас в теме
Спасибо всем, Тема закрыта.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)