Имя: Пароль:
1C
1С v8
Реорганизация задолженности по партнеру и даты платежей
0 Ненавижу 1С
 
гуру
21.01.21
21:14
Требуется разнести задолженность партнера по его подпартнерам. Взаиморасчеты ведутся по договорам и по накладным.
Делаю взаимозачетом:
Уменьшаю текущую дебиторскую задолженность.
Увеличиваю кредиторскую - вешаю на созданные первичные документы.
И всё хорошо, кроме одного - датой платежа теперь система считает дату взаимозачета.

Куда и как внести даты платежей? Желательно малой кровью изменения системы.
1 Михаил Козлов
 
21.01.21
21:17
Можно попробовать корректировкой регистра: заполнить по взаимозачету, с минусом движения взаимозачета, с плюсом и измененной датой.
2 Ненавижу 1С
 
гуру
21.01.21
21:23
(1) к сожалению, там три регистра - их надо синхронизировать
хотелось бы это это передать довольно опытному юзеру
во-первых такой случай будет явно не единичный, во-вторых наверняка чего нить вспомнят и полезут корректировать документ

пока склоняюсь к возможности опционально устанавливать дату платежа в взаимозачете
3 Ненавижу 1С
 
гуру
21.01.21
23:23
Добавил в первичный документ дату платежа для типа "Реализация клиенту"
В расширении в модуле менеджера немного изменил запрос:

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


Вроде бы все хорошо