Изменение даты платежа в заказе покупателя. УТ 11.4

У клиента 1С не давала редактировать дату платежа в графике оплаты заказа клиента.

По встроенной помощи определил, что дата платежа доступна только, если не указано соглашение.

Но клиенту для платежного календаря нужно было менять дату оплаты.

Менять ее можно через изменение сдвига, но это неудобно — нужно вычислять даты.

Казалось бы, можно дать менять дату, тогда вычислялся бы сдвиг. Но нет, 1С так не считает.

На этой задаче я сильно затормозил, т.к. не мог понять, каким образом дата платежа становится недоступной. И только потом до меня дошло, что это реализовано через условное оформление — оно позволяет делать поля не доступными.

В итоге отключил условное оформление этого поля, расширив общую форму ЭтапыОплатыКлиентом:

&НаСервере
&После("УстановитьУсловноеОформление")
Процедура дор_УстановитьУсловноеОформление()
	//Осипов 2023-11-14 отключаем запрет на редактирование даты платежа
	ИскПоле = Новый ПолеКомпоновкиДанных(Элементы.ЭтапыОплатыДатаПлатежа.Имя);
	Для Каждого Элемент ИЗ УсловноеОформление.Элементы Цикл
		Если Элемент.Поля.Элементы.Количество() > 0 И 
			 Элемент.Поля.Элементы[0].Поле = ИскПоле Тогда
			 Элемент.Использование = ложь;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

Сдвиг не стал вычислять, просто устанавливаю дату.

В регистре «Плановые отгрузки клиентам» дата также меняется, она берется именно из даты, зафиксированной в графике оплаты:

Среда: УТ: 11.4.13.46. Объем: 1.5 час

fixin

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

Читайте также:

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

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