Имя: Пароль:
1C
 
СуммаДолга=0 из регистра накопления Остатки
0 Airback
 
05.10.23
15:19
У меня есть два документа
Документ поступление, в котором мы можем указать долг поставщику, после этот долг отображается в регистре накопления, и также есть документ Долг, в котором при выборе поставщика, в поле СуммаДолга подтягивается из регистра накопления остатки, сумма долга по поставщику за весь период,
и вот сам вопрос, при внесение суммы, сумма долга уменьшается, и выводится в регистре накопления, но когда мы доходим до 0, то предпоследняя сумма заново появляется, помогите решить проблему, чтобы при выборе поставщика, если сумма долга = 0, вылетал 0

&НаКлиенте
Процедура ПоставщикПриИзменении(Элемент)
	ПолучитьСведения();
КонецПроцедуры

&НаСервере
Процедура ПолучитьСведения()
	
		//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	СУММА(ДолгПоПоставщикамОстатки.ДолгОстаток) КАК ДолгОстаток
		|ИЗ
		|	РегистрНакопления.ДолгПоПоставщикам.Остатки КАК ДолгПоПоставщикамОстатки
		|ГДЕ
		|	ДолгПоПоставщикамОстатки.Поставщик = &Поставщик";
	
	Запрос.УстановитьПараметр("Поставщик", Объект.Поставщик);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Объект.СуммаДолга = ВыборкаДетальныеЗаписи.ДолгОстаток;
		
	КонецЦикла;
	
	//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	
КонецПроцедуры 

&НаКлиенте
Процедура ВнесениеПриИзменении(Элемент)
	Объект.СуммаДолга = Объект.СуммаДолга - Объект.Внесение;
КонецПроцедуры
1 СвинТуз
 
05.10.23
15:19
Нули в остатках не хранятся.

ЕслиВыборкаДетальныеЗаписи.Следующий() Тогда
		Объект.СуммаДолга = 
		   ВыборкаДетальныеЗаписи.ДолгОстаток;
Иначе
	Объект.СуммаДолга = 0;	   
КонецЕсли;
2 Airback
 
05.10.23
15:13
Как тогда при выборе поставщика, если сумма погашена, чтобы не выводилось ничего
3 СвинТуз
 
05.10.23
15:17
хз
подумай.

Цикла не нужно. По фиксированному измерению прилетает либо одна строка либо ничего.
4 НафНаф
 
05.10.23
17:04
(3) используется агрегирование без группировки. Будет Гарантированно одна строка