Контроль числа дней задолженности

1. sl4y3r23 12.02.19 16:31 Сейчас в теме
День добрый! УПП 1.3
В общем есть некое количество клиентов с галками в договоре: "По документам расчетов" и "Контролировать число дней задолженности". Все хорошо, если есть долг, превышающий число дней указанных в договоре, то система при проведении реализации выдает уведомление о не возможности проведения данного документа по причине просрочки за какую то там реализацию. Так вот есть 1 (больше пока не встречал) контрагент(ничем не отличающийся от остальных) реализации на которого проводятся без проблем, даже с учетом просрочки. Договор заполнен верно. Вот как так то?! Куда копать?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. kumi2012 102 12.02.19 16:54 Сейчас в теме
Сначала, убедитесь по отчетам, что у данного контрагента именно по указанному документу есть задолженность.
4. sl4y3r23 12.02.19 16:59 Сейчас в теме
(2)В отчетах и проверил. Отсрочка 16 дней. за 22.01 и 24.01. Просрочка 5 и 3 дня соответственно.
3. sl4y3r23 12.02.19 16:58 Сейчас в теме
Причем на 31.01.2019 у этого клиента была просрочка. И ртиу не проводилась. Я в документе ставил галку "отключить контроль взаиморасчетов при проведении документа". Теперь же проводится легко. Что могло поменяться в контрагенте? Отчет по дебиторке ссылается на долги в 3 и 5 дней по 2 реализациям. Их и последующие перепроводил. Толку 0...
5. Teut_Vlad 180 13.02.19 00:24 Сейчас в теме
Ну там и в настройке пользователя есть "Разрешить проведение документа без контроля взаиморасчетов", и если у вас полные права, может не срабатывать.
6. sl4y3r23 13.02.19 08:26 Сейчас в теме
(5)С правами все норм. Я же говорю, что проводится только 1 конкретный клиент. Права же назначаются на пользователя, т.е. проводились бы все без проблем.
7. sl4y3r23 13.02.19 08:35 Сейчас в теме
+ко всему перепроводил ртиу, перезаписывал договор/контрагента. Движения в доках есть. Хз куда копать...
8. EVKash 14 13.02.19 08:53 Сейчас в теме
(7) посмотрите отладчиком, что возвращает функция СуммаПросроченнойЗадолженности(Договор, ДатаДокумента) общего модуля ПродажиСервер
там корявый запрос...
Можно еще попробовать пересчет итогов сделать.
9. sl4y3r23 13.02.19 09:09 Сейчас в теме
(8)Сейчас пересчет и будет бух делать. Просто интересно почему корявый запрос реагирует коряво только 1 контрагента)
10. EVKash 14 13.02.19 09:24 Сейчас в теме
(9) ну это по данным надо смотреть...
11. Teut_Vlad 180 13.02.19 13:44 Сейчас в теме
Вам сюда
ОбщийМодуль.УправлениеДенежнымиСредствами.Модуль(1957, 42) ОбщегоНазначения.СообщитьОбОшибке("Превышено допустимое число дней задолженности по договору " +

Нужно поставить точку останова
	
//Платеж.ДоговорКонтрагента Ваш договор
		Запрос.Текст =
			"ВЫБРАТЬ
			|	ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента,
			|	МИНИМУМ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата) КАК ДатаПервойСделки
			|ИЗ	
			|	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, 
			|		ДоговорКонтрагента В (ВЫБРАТЬ РАЗЛИЧНЫЕ ДоговорКонтрагента ИЗ ТаблицаКонтроляСрокаДолга)
			|			И УпрУчет) КАК ВзаиморасчетыПоДокументамОстатки
			|ГДЕ 
			|	ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток > 0
			|
			|СГРУППИРОВАТЬ ПО 
			|	ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента
			|
			|ДЛЯ ИЗМЕНЕНИЯ
			|	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки";
				
			Результат = Запрос.Выполнить();
			Выборка   = Результат.Выбрать();
			
			Для Каждого Платеж Из ТаблицаКонтроляСрокаДолга Цикл
				
				Если Выборка.НайтиСледующий(Платеж.ДоговорКонтрагента, "ДоговорКонтрагента") Тогда
					
					ДопустимоеЧислоДнейЗадолженности = Платеж.ДопустимоеЧислоДнейЗадолженности;
					РазницаДатВСекундах = ДатаПлатежа - Выборка.ДатаПервойСделки;

					РазницаДней = Цел(РазницаДатВСекундах/(24 * 60 * 60));
					
					Если РазницаДней > ДопустимоеЧислоДнейЗадолженности Тогда
						ОбщегоНазначения.СообщитьОбОшибке("Превышено допустимое число дней задолженности по договору " +
							Платеж.ДоговорКонтрагента + Символы.ПС + Символы.Таб +
							" Допустимое число дней задолженности: " + ДопустимоеЧислоДнейЗадолженности + 
							", дата самой старой задолженности: " + Выборка.ДатаПервойСделки + 
							", превышение: " + РазницаДней + " дней", Отказ, Заголовок);
					КонецЕсли;
					
				КонецЕсли;	
				
			КонецЦикла;
Показать

Вот вам запрос, надеюсь консолью умеете пользоваться
ВЫБРАТЬ
	ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента,
	МИНИМУМ(ВзаиморасчетыПоДокументамОстатки.ДокументРасчетовСКонтрагентом.Дата) КАК ДатаПервойСделки
ИЗ
	РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, ДоговорКонтрагента = &ПроблемныйДоговор) КАК ВзаиморасчетыПоДокументамОстатки
ГДЕ
	ВзаиморасчетыПоДокументамОстатки.СуммаВзаиморасчетовОстаток > 0

СГРУППИРОВАТЬ ПО
	ВзаиморасчетыПоДокументамОстатки.ДоговорКонтрагента
Показать

Или сделайте обработку с возможностью выбора договра, Скопируйте код, замените запрос
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

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

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

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

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