Отладка расчетов СКД для пользователя

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

Я вынес функцию расчета в общий модуль расширения, чтобы его удобно было править. И получал материальную стоимость затрат вызовом одной функции:

Но мне показалось, что к просто цифре у пользователя не будет доверия, поэтому я решил сделать пользователю возможность расшифровать эту цифру.

Поэтому я создал булев параметр Отладка:

Если пользователь ставит галочку, то в процедуре расчета выводится в окне сообщений трассировка расчета:

Реализуется это кодом вида:

Функция МатериальнаяСебестоимостьЗаказаПокупателя(ЗаказПокупателя, ВидЗакупочнойЦены, Отладка = ложь) Экспорт
	
	Запрос = Новый Запрос();
	Запрос.Текст = 
	...	
	Запрос.УстановитьПараметр("ТекущийДокумент", ЗаказПокупателя);
	Запрос.УстановитьПараметр("ДатаЗаказа", ЗаказПокупателя.Дата);
	Запрос.УстановитьПараметр("ВидЦен", Справочники.ВидыЦен.Учетная);
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();

	Стоимость = 0;	
	
	Если Отладка Тогда
		Сообщить("=== Материальные затраты по заказу: " + ЗаказПокупателя + " ===");
	КонецЕсли;                                                                      
	
	Пока Выборка.Следующий() Цикл
		
		...
		
		Если Отладка Тогда
			Сообщить("   " + Выборка.Номенклатура + " " + Выборка.Характеристика + " " + Выборка.Количество + " * " + ТекЦена + " = " + ТекСтоимость);
		КонецЕсли;
		Стоимость = Стоимость + ТекСтоимость; 
		
	КонецЦикла;
	
	Возврат Стоимость;
	
КонецФункции

Очень удобно, отчет перестает быть черным ящиком и показывает нужные данные.

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

Рекомендую всегда делать расшифровку для пользователя. Он будет меньше обращаться к программисту и больше доверять отчету, ведь всегда сможет его проверить.

fixin

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

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

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

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