Блокировка контрагента при просрочке платежа в днях



В Комплексе контроль просрочки стоит только суммовой, но понадобилось и блокировать контрагента при просрочке платежа в днях, даже если сумма лимита не превышена. Так и решил сделать, аналогичного ничего не нашел.

Это моя первая публикация, прошу сильно не пинать.

Так как база большая и она SQL, то писался прямой запрос требуется компонента (1cpp.dll), который бы проверял просроченные документы. Для начала добавил в полномочия пользователя проверку можно ли ему превышать кредит. (рис. Права пользователя)

Далее написал прямой запрос и вставил его в функцию КонтрольКредитаПройден при выборе контрагента происходит проверка и выводится просроченный долг (рис. Проверка на просрочку) код прикреплен в файле.

При попытке провести просроченный документ он блокируется (рис 2)

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

 

Тестировалась в течении 1,5 недели на реальной базе все просрочки сходились.

 

 

9 Comments

  1. Иваныч

    Автору уважение за такой вот подход, идея правильная, т.к не у всех пользователей есть доступ на просмотр долга контрагента.

    Не в тему: Хотя есть еще одно предложение, при проведении документов (реализацияТМЦ, ПеремещениеТМЦ)проверять отпускные цены, чтобы не получилось когда отпускная цена меньше или равна закупочной..

    Reply ↓
  2. 11k65m

    Спасибо.

    (1) Иваныч, При проведении цены пересчитываются согласно цене установленной в карточке контрагента, и его скидкам на определенные группы номенклатурных позиции. Если цену поставили руками, она не имеет смысла при проведении все равно пересчитается.

    Reply ↓
  3. Иваныч

    (2)

    Согласен, только у меня несколько раз было не обновлена Закупочная, а к ней привязана оптовая в % выражении, и как факт, если изменение цены несущественно, закроешь глаза, а когда разница велика, тогда ой-ой-ой…

    Reply ↓
  4. vitn

    Реально нужная вещь!

    Reply ↓
  5. vitn

    А ПОЧЕМУ РУГАЕТСЯ??????????

    RS_Взаим<<?>>.УстановитьТекстовыйПараметр(«ДатаНач», MDW.GetDateTimeIDDOC(СформироватьПозициюДокумента(ПолучитьПозицию(),1)));

    {Документ.Реализация.Модуль Документа(95)}: Переменная не определена (RS_Взаим)

    RS_Взаим<<?>>.УстановитьТекстовыйПараметр(«Фирма», Фирма);

    {Документ.Реализация.Модуль Документа(96)}: Переменная не определена (RS_Взаим)

    RS_Взаим<<?>>.УстановитьТекстовыйПараметр(«Договор», Договор);

    {Документ.Реализация.Модуль Документа(97)}: Переменная не определена (RS_Взаим)

    Если RS_Взаим<<?>>.Prepare(Запрос)=0 Тогда

    {Документ.Реализация.Модуль Документа(115)}: Переменная не определена (RS_Взаим)

    глНеПроводить(Контекст,RS_Взаим<<?>>.GetLastError());

    {Документ.Реализация.Модуль Документа(116)}: Переменная не определена (RS_Взаим)

    глНеПроводить(Контекст,RS_Взаим.GetLastError()<<?>>);

    {Документ.Реализация.Модуль Документа(116)}: Неопознанный оператор

    RS_Взаим<<?>>.Open();

    {Документ.Реализация.Модуль Документа(120)}: Переменная не определена (RS_Взаим)

    RS_Взаим<<?>>.GetResultsInVT(ТИ, 1);

    {Документ.Реализация.Модуль Документа(122)}: Переменная не определена (RS_Взаим)

    Вых=Выходные<<?>>(ТИ.КредДокумент.ДатаДок,ДатаМ);

    {Документ.Реализация.Модуль Документа(129)}: Функция не обнаружена (Выходные)

    RS_Взаим<<?>>.Close();

    {Документ.Реализация.Модуль Документа(143)}: Переменная не определена (RS_Взаим)

    <<?>>Иначе

    {Документ.Реализация.Модуль Документа(144)}: Ожидается ключевое слово ‘КонецФункции’ (‘EndFunction’)

    <<?>>Иначе

    {Документ.Реализация.Модуль Документа(144)}: Ожидается ключевое слово ‘КонецФункции’ (‘EndFunction’)

    ТекущийДолг1 = ВремПокупатели.СводныйОстаток(Фирма,Договор,,,,»СуммаВал»);<<?>>

    {Документ.Реализация.Модуль Документа(146)}: Обнаружено логическое завершение исходного текста модуля

    Reply ↓
  6. Sanario

    (5) vitn, а версия конфигурации какая?

    Reply ↓
  7. 11k65m

    (6) Sanario, В шапке написано 1с 7.7 комплекс

    Reply ↓
  8. user776407

    куда вставить формулу ?))

    Reply ↓
  9. 11k65m

    Формула вставляется в документ реализация. При приведении происходит проверка.

    Reply ↓

Leave a Comment

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