8.х Фиксирование штрафов за просрочку

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Rivainy, 29 ноя 2015.

  1. TopicStarter Overlay
    Rivainy
    Offline

    Rivainy

    Регистрация:
    17 ноя 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Имеется самодельная конфигурация для организации, которая занимается сдачей в аренду карнавальных костюмов. Нужно реализовать систему штрафов за просрочку и контроль наличия штрафов у клиента. То есть если клиент просрочил дату сдачи, то новый костюм ему не выдается. Вот тут я и натолкнулась на проблему.
    Штрафы фиксируются только по факту возврата костюма, значит, чтобы отследить наличие штрафа, надо найти документы о выдаче, для которых просрочена дата сдачи, и проверить, что для них нет соответствующих документов о сдаче. В связи с этим возникло 2 идее:
    1. Обойтись запросом, который все это найдет.
    Получилось следующее:
    Код:
            Запрос = Новый Запрос;
            Запрос.МенеджерВременныхТаблиц = МВТабл;
            Запрос.Текст = "ВЫБРАТЬ
                           |    ВозвратКостюма.Ссылка
                           |ПОМЕСТИТЬ КостюмыКлиента
                           |ИЗ
                           |    Документ.ВозвратКостюма КАК ВозвратКостюма
                           |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                           |            ВыдачаКостюма.Ссылка КАК Ссылка
                           |        ИЗ
                           |            Документ.ВыдачаКостюма КАК ВыдачаКостюма
                           |        ГДЕ
                           |            ВыдачаКостюма.ДатаСдачи < &Дата
                           |            И ВыдачаКостюма.Клиент = &Клиент) КАК ВложенныйЗапрос
                           |        ПО ВозвратКостюма.ДокументОВыдаче.Ссылка = ВложенныйЗапрос.Ссылка";
            Запрос.УстановитьПараметр("Дата", ТекДата);
            Запрос.УстановитьПараметр("Клиент", Клиент);
    
    Запрос получился не совсем корректный, но как его исправить не могу придумать.

    2. Вторая идея состояла в том, чтобы при проведении документа о возврате, в соответствующем документе о выдаче фиксировался факт закрытия, то есть специальный реквизит "Закрыто" приобретал значение ИСТИНА. Но опять же не знаю, как это можно реализовать. Оба документа связаны, то есть в документе о возврате имеется ссылка на документ о выдаче.

    Подскажите, как что-нибудь из этого реализовать можно? Или я вообще не в том направлении мыслю?
  2. Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    А можно документом возврата делать запись в РС.Штрафников. Если есть просрочка - значит пишем ФИО+паспорт в РС. А когда клиент приходит в следующий раз - проверяем его по этому РС?
    ***РС - рег.сведений.
  3. TopicStarter Overlay
    Rivainy
    Offline

    Rivainy

    Регистрация:
    17 ноя 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Дело в том, что если клиент не уплатил штраф, то документ возврата не проводится. А если он провелся, то и штрафа уже нет.
    Думала о том, чтобы сделать перепровод документов о выдаче по команде и фиксировать штрафы в этот момент, но это значит постоянно перепроводить кучу документов. Пока их мало это не проблема, но когда их много будет, это сильно отразится на времени выполнения, мне кажется.
  4. Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    Это как это? Вот есть документ выдача. В нем указана дата возврата. Когда на его основании делается документ возврата. Когда формируется документ возврат - делается проверка: нужен ли штраф. Если нужен - то включается в документ возврат и соответственно заносится в РС.
    Тут правда вылезет ситуация, что клиент взял костюм, не вернул его и берет следующий. Но это можно обойти регламентным заданием: раз в неделю проверять - нет ли зависших выдач.
  5. TopicStarter Overlay
    Rivainy
    Offline

    Rivainy

    Регистрация:
    17 ноя 2015
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Но штраф ведь заносится в регистр при проведении документа, а если клиент штраф не уплатил, то документ и не проводится. То есть при возврате просроченного костюма, надо сразу уплатить штраф, иначе костюм считается не возвращенным.
    Вот именно про вторую ситуацию и идет речь, когда клиент не вернул просроченный костюм, и хочет взять еще один. Но срок выдачи костюма неделя, поэтому раз в неделю это мало будет.
  6. Ktyf
    Offline

    Ktyf Опытный в 1С

    Регистрация:
    16 янв 2013
    Сообщения:
    457
    Симпатии:
    12
    Баллы:
    29
    Уплатил он реально деньги или нет - это второй вопрос. Документ Возврат отражает то, что костюм вернулся + есть ли штраф по возврату. Вот к примеру вернули вам костюм с просрочкой. Вы выставляете штраф. А клиент "лезет в бутылку" и отказывается его платить. Так что теперь - не проводить документ? Т.е. костюм будет лежать на складе - но не отражаться в учете?
    ну сделайте раз в день. Поставьте у документа Выдача признак "Закрыт" (к примеру) означающий, что что нему создан документ Возврат, и по этому признаку выбирайте документы, а потом проверка на дату. Получите какой-то перечень документов, ну и по нему уже делайте запись в РС должников

Поделиться этой страницей