В справочнике "Контрагенты" в закладке "Кредиты" можна задать максимальную сумму кредита покупателю, но на что влияет установленное значение понять трудно. Установил значение 100 для определенного контрагента. При этом безболезненно проводятся расходные накладные (товар) по товарному кредиту на любую сумму этому клиенту? Хотелось бы, чтобы при привышении заданной суммы был запрет на продажу в кредит данному контрагенту ...
А что в Константе РазрешитьПревышениеКредита? Еще могут быть подобные настройки для Пользователя... читайте справку.
Благодарю.
Установил РазрешитьПревышениеКредита в "НЕТ" - теперь не дает провести документ в случае превышения задолжености - правда не сообщает об этом красивенько "Превышен лимит по кредиту" к примеру, а ругается:
Не распределилась проводка * 7021 на сумму -64,71
Сформирована проводка 00 7021
Не понятно как сумма 64,71 считается - лимит превышается на 5 грн. ...?
В справочнике "Пользователисистемы " задаются для только параметры:
1. Редактировать № документа
2. Изменять документы любого периода
3. Изменять категорию цен
Где можно задать для пользователя "РазрешитьПревышениеКредита" не нашел ...
Это что-то другое, возможно ошибка... или детальность комментариев...
Должно быть "Сумма накладной вместе с текущим долгом клиента......" учтите, МаксКредит - периодический (берется на дату Док) и при необх пересчитывается для приведения валют.
Без доработки - нет. Отключать константу - не выход, другие доки будут тоже проводиться...
Если ДолгКонтрагента > СуммаКредита Тогда
глНеПроводить(Контекст,Шаблон("Сумма накладной вместе с текущим долгом клиента ([глФРМ(ДолгКонтрагента,Контрагент.ВалютаКредита,1)]) превышает сумму кредита ([глФРМ(СуммаКредита,Контрагент.ВалютаКредита,1)]). "));
Возврат;
КонецЕсли;
Попытка
РазрешитьПроведениеСПревышением = ?(глПользователь.РазрешитьПревышениеКредита=1, 1, 0);
Исключение
РазрешитьПроведениеСПревышением = 0;
КонецПопытки;
Если (ДолгКонтрагента > СуммаКредита) И (РазрешитьПроведениеСПревышением = 0) Тогда
глНеПроводить(Контекст,Шаблон("Сумма накладной вместе с текущим долгом клиента ([глФРМ(ДолгКонтрагента,Контрагент.ВалютаКредита,1)]) превышает сумму кредита ([глФРМ(СуммаКредита,Контрагент.ВалютаКредита,1)]). "));
Возврат;
КонецЕсли;
Если ДолгКонтрагента > СуммаКредита Тогда
глНеПроводить(Контекст,Шаблон("Сумма накладной вместе с текущим долгом клиента ([глФРМ(ДолгКонтрагента,Контрагент.ВалютаКредита,1)]) превышает сумму кредита ([глФРМ(СуммаКредита,Контрагент.ВалютаКредита,1)]). "));
Возврат;
КонецЕсли;
Попытка
РазрешитьПроведениеСПревышением = ?(глПользователь.РазрешитьПревышениеКредита=1, 1, 0);
Исключение
РазрешитьПроведениеСПревышением = 0;
КонецПопытки;
Если (ДолгКонтрагента > СуммаКредита) И (РазрешитьПроведениеСПревышением = 0) Тогда
глНеПроводить(Контекст,Шаблон("Сумма накладной вместе с текущим долгом клиента ([глФРМ(ДолгКонтрагента,Контрагент.ВалютаКредита,1)]) превышает сумму кредита ([глФРМ(СуммаКредита,Контрагент.ВалютаКредита,1)]). "));
Возврат;
КонецЕсли;
Еще маленький вопрос по глубине кредита - что она собой являет? К примеру дебиторская задолженость контрагента состовляет 1000 грн., я устанавливаю сумму кредита в 2000 грн. Кредит уже возник или он откроется при проведении первого документа из оставшейся тысячи? Если под глубиной кредита считать количество дней, на который он выдается, то что является событием его открытия и что будет по истечению срока?
Тут же все написано:
ДатаОплатыДолга = тбДолгиКред.КредДокумент.ДатаДок + Контрагент.Глубина.Получить(тбДолгиКред.КредДокумент.ДатаДок);
......
Если ДатаДок > ДатаОплатыДолга Тогда
ПросроченныйДолг = ПросроченныйДолг + тбДолгиКред.ДолгОсн;
Если Просрочено<(ДатаДок-ДатаОплатыДолга) Тогда
Просрочено = ДатаДок-ДатаОплатыДолга;
КонецЕсли;
КонецЕсли;
Через 10 дней отгрузки будут блокироваться независимо от суммы.
На 11 день после первой неоплаченной отгрузки Просрочено станет 1 и позовет злого и страшного глНеПроводить
Или так
Просрочка оплаты отгрузки и превышение суммы кредита контролируются независимо друг от друга.
Текущая отгрузка блокируется любым из этих обстоятельств.
Режим контроля отсрочки по отдельной РН может быть "смягчен": для этого нужно заполнить в ней рекв ДатаОплаты значением, превышающим ДатаДок+ГлубинаКредита.
Чтобы делать это задним числом без ущерба для системы - нужно правильно настроить права уполномоченного пользователя.
*При избыточных правах пользователей в этом может быть лазейка для злоупотреблений.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua