Имя: Пароль:
1C
1С v8
Способ контроля дней задолженности в УПП
0 ДемонМаксвелла
 
18.01.12
16:01
Типовая конфигурация предоставляет на выбор один из двух способов контроля дней задолженности: по календарным дням или по рабочим дням (константа СпособКонтроляДнейЗадолженности). Но договоры (бумажные) могут содержать оба способа. Кто нибудь включал в конфигурации возможность использовать оба способа? Интересуют идеи. Пока что планирую сделать следующее - в договоре свойство или реквизит, и самописный отчет (или доработанный отчет по кредитной линии). Всем заранее спасибо.
1 pumbaEO
 
18.01.12
16:08
Посмотри УТ 11, там добавили календари, для моих более гибкая схема получилась. В УПП при проверки дней задолженности смотрит в РегламентныйПроизводственныйКалендарь и на константу: добавь в договор реквизит и проверяй по нему (там кажется всего пару процедур изменить надо будет).
2 ДемонМаксвелла
 
18.01.12
16:10
УТ 11 гляну, но сдаётся мне, что там система кардинально другая, а доработки хочется минимальные.
3 ДемонМаксвелла
 
18.01.12
16:29
Да, пару процедур ещё придется поправить.
4 shuhard
 
18.01.12
16:30
(0) что мешает в модуле Рг достать из реквизита договора, а не из константы:
Если Выборка.Следующий() Тогда
                   
                   ДопустимоеЧислоДнейЗадолженности = СтруктураШапкиДокумента.ДопустимоеЧислоДнейЗадолженности;
                   
                   Если Константы.СпособКонтроляДнейЗадолженности.Получить() = Перечисления.СпособыКонтроляДнейЗадолженности.ПоКалендарнымДням Тогда
                       РазницаДатВСекундах = (СтруктураШапкиДокумента.Дата - Выборка.ДатаПервогоДокумента);

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

                       ОбщегоНазначения.СообщитьОбОшибке(
                           "Превышено допустимое число дней задолженности по договору " + ДоговорКонтрагента +
                           Символы.ПС + Символы.Таб +
                           " Допустимое число дней задолженности: " + ДопустимоеЧислоДнейЗадолженности +
                           ", дата самой старой задолженности: " + Выборка.ДатаПервогоДокумента +
                           ", превышение: " +
                           (РазницаДней - ДопустимоеЧислоДнейЗадолженности) + " дней",
                           Отказ, Заголовок);
                   КонецЕсли;
                   
               КонецЕсли;
5 ДемонМаксвелла
 
18.01.12
16:34
(4) уже нашел это
6 ДемонМаксвелла
 
18.01.12
16:42
Итак, поправить также придется процедуру КонтрольОстатков в модуле набора записей регистра ВзаиморасчетыСКонтрагентами, и процедуру УстановитьДатуОплатыПоДоговору в общем модуле УправлениеЗаказами. Всем спасибо.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.