1. user817897 14.03.19 14:00 Сейчас в теме

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

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

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


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

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


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


Если используете рабочие то Регламентированный производственный календарь должен быть сформирован.
Дата от которой идёт отсчёт - это "Оплата" в документе Заказ покупателя
Показать
6. user817897 14.03.19 14:51 Сейчас в теме
(5)уже прочитал, но проблемс в том что мне надо подвязать не к дате оплаты,а к дате заказа,надо код переделывать наверно
7. SedovSU@mail.ru 292 14.03.19 14:58 Сейчас в теме
(6) ну тут нужно саму обработку ковырять, смотреть и разбираться в ней. А в самой обработке же на картинке видно что есть некий вариант отбора, там нет возможности выбрать для вашего варианта?
8. user817897 14.03.19 15:06 Сейчас в теме
(7)нету,в том то и дело. если только зайти в саму форму и там отредактировать,я так понимаю что где-то в коде прописано это,но кода там дофига) код чужой можно скидывать в форум?
9. user817897 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*ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОтгрузки));
				Иначе
					ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОплаты", 	ЗаполнениеДокументов.ОпределитьДату(НачалоДня(ТекущаяДата()),-ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты));
					ПостроительОтчета.Параметры.Вставить("ТребуемаяДатаОтгрузки", 	ЗаполнениеДокументов.ОпределитьДату(НачалоДня(ТекущаяДата()),-ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОтгрузки));
				КонецЕсли;
		КонецЕсли;
		ПостроительОтчета.Выполнить();
Показать



я так понимаю что тут собака зарыта?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Консультант-аналитик 1С
Москва
зарплата от 70 000 руб. до 100 000 руб.
Полный день

Программист 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Временный (на проект)