Имя: Пароль:
1C
1C 7.7
v7: Взаиморасчеты с Контрагентами(Комплексная)
,
0 tpudl_bases
 
05.10.12
17:26
Есть реализация+оплата(по одному и тому же договору),но почему то все равно висят долги по этим реализации:
http://clip2net.com/s/2mMQw
http://clip2net.com/s/2mMRG




Стандартный отчет по Ведомость по контрагенту допилен только здесь:
           Если НазваниеГруппировки = "КредДокумент" Тогда    
               Если (Долги.ПолучитьЗначение(Долги.ТекущаяСтрока()) = "только контрагентов") и (Группировки.Пометка(9)=1) и (ТолькоНезакрытые=1) Тогда
                   Если (Запрос.КонОст <= 0) И (Запрос.КонОстП <= 0) Тогда
                       Продолжить;
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;      
           // Тестирование
                           
           Если Ном>= НомерГруппировкиПоКонтрагенту Тогда
               ПредставлениеДолга = Долги.ПолучитьЗначение(Долги.ТекущаяСтрока());
               Если ПредставлениеДолга = "только контрагентов" Тогда
                   Если Просроченные = 1 Тогда
                       Если (Запрос.КонОстП <= 0) и (НазваниеГруппировки <> "Документ") Тогда
                           Продолжить;                    
                       КонецЕсли;
                       
                       Если (ПросроченоБолееДней=1) и (Ном = НомерГруппировкиПоКредДокументу) и
                            ((Запрос.КредДокумент.Вид()="Реализация") или
                             (Запрос.КредДокумент.Вид()="РеализацияПрочее") или
                             (Запрос.КредДокумент.Вид()="РеализацияРозница") или
                             (Запрос.КредДокумент.Вид()="ОтчетКомиссионера") или
                             (Запрос.КредДокумент.Вид()="ВводОстатковПокупателя")) Тогда
                           ПечДолг3  = ДатаКонца - Запрос.КредДокумент.ДатаОплаты;
                           Если ПечДолг3<=ПросроченоДней Тогда
                               Продолжить;
                           КонецЕсли;    
                       КонецЕсли;      
                   КонецЕсли;    
               ИначеЕсли ПредставлениеДолга = "только наши" Тогда


Вся процедура

Процедура ВывестиГруппировку(Запрос,Ном)
     
   Если Ном <= КоличествоГруппировок Тогда    
       
       СтрДолги = Долги.ПолучитьЗначение(Долги.ТекущаяСтрока());
       НазваниеГруппировки = СписокГруппировок.ПолучитьЗначение(Ном);  
       Если НазваниеГруппировки = "Документ" Тогда
           ТекОст    = Запрос.НачОст;
           ТекОстВ = Запрос.НачОстВ;
           Если СтрДолги <> "все" Тогда
               ТЗОстатков = СоздатьОбъект("ТаблицаЗначений");
               ТЗОстатков.НоваяКолонка("ДатаОплаты", "Дата");
               ТЗОстатков.НоваяКолонка("Долг", "Число");
               ТЗОстатков.НоваяКолонка("ДолгВ", "Число");
           КонецЕсли;
       КонецЕсли;  
       
       Пока Запрос.Группировка(Ном) = 1 Цикл
               
           Если НазваниеГруппировки = "Контрагент" Тогда  
               ПредставлениеДолга = Долги.ПолучитьЗначение(Долги.ТекущаяСтрока());
               Если ПредставлениеДолга = "только контрагентов" Тогда
                   Если (Запрос.КонОст <= 0) И (Запрос.КонОстП <= 0) Тогда
                       Продолжить;
                   КонецЕсли;  
               ИначеЕсли ПредставлениеДолга = "только наши" Тогда
                   Если (Запрос.КонОст >= 0) И (Запрос.КонОстП >= 0) Тогда
                       Продолжить;
                   КонецЕсли;  
               КонецЕсли;
           КонецЕсли;                  
                   
           // Тестирование
           Если НазваниеГруппировки = "КредДокумент" Тогда    
               Если (Долги.ПолучитьЗначение(Долги.ТекущаяСтрока()) = "только контрагентов") и (Группировки.Пометка(9)=1) и (ТолькоНезакрытые=1) Тогда
                   Если (Запрос.КонОст <= 0) И (Запрос.КонОстП <= 0) Тогда
                       Продолжить;
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;      
           // Тестирование
                           
           Если Ном>= НомерГруппировкиПоКонтрагенту Тогда
               ПредставлениеДолга = Долги.ПолучитьЗначение(Долги.ТекущаяСтрока());
               Если ПредставлениеДолга = "только контрагентов" Тогда
                   Если Просроченные = 1 Тогда
                       Если (Запрос.КонОстП <= 0) и (НазваниеГруппировки <> "Документ") Тогда
                           Продолжить;                    
                       КонецЕсли;
                       
                       Если (ПросроченоБолееДней=1) и (Ном = НомерГруппировкиПоКредДокументу) и
                            ((Запрос.КредДокумент.Вид()="Реализация") или
                             (Запрос.КредДокумент.Вид()="РеализацияПрочее") или
                             (Запрос.КредДокумент.Вид()="РеализацияРозница") или
                             (Запрос.КредДокумент.Вид()="ОтчетКомиссионера") или
                             (Запрос.КредДокумент.Вид()="ВводОстатковПокупателя")) Тогда
                           ПечДолг3  = ДатаКонца - Запрос.КредДокумент.ДатаОплаты;
                           Если ПечДолг3<=ПросроченоДней Тогда
                               Продолжить;
                           КонецЕсли;    
                       КонецЕсли;      
                   КонецЕсли;    
               ИначеЕсли ПредставлениеДолга = "только наши" Тогда
                   Если Просроченные = 1 Тогда
                       Если (Запрос.КонОстП >= 0)  и (НазваниеГруппировки <> "Документ") Тогда
                           Продолжить;                    
                       КонецЕсли;
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;
           Если НазваниеГруппировки = "Документ" Тогда
               НазваниеСекции="Документ";  
           Иначе                          
               НазваниеСекции="Строка"+Ном;
           КонецЕсли;      
           
           Если (НазваниеГруппировки = "Контрагент") И (Запрос.ЭтоГруппа(НазваниеГруппировки) = 1) Тогда
               НазваниеСекции = НазваниеСекции + "Г";
           КонецЕсли;
           
           Если (Ном >= НомерГруппировкиПоДоговору) Тогда
               Если Запрос.Договор.ВалютаВзаиморасчетов<>ВалютаОтчета Тогда
                   НазваниеСекции = НазваниеСекции + "В";
               КонецЕсли;
           КонецЕсли;      
           
           ПечТекстСтроки = Запрос.ПолучитьАтрибут(НазваниеГруппировки);
           Если (ТипЗначенияСтр(ПечТекстСтроки) = "Документ") или
                (ТипЗначенияСтр(ПечТекстСтроки) = "Справочник") Тогда
               ТекРасшифровка = ПечТекстСтроки;
           Иначе
               ТекРасшифровка = "";
           КонецЕсли;
           ПечТекстСтроки = ?(ПустоеЗначение(ПечТекстСтроки)=1,глПредставлениеПустогоЗначения(НазваниеГруппировки),ПечТекстСтроки);
           
           Если НазваниеГруппировки = "Договор" Тогда
               ПечТекстСтроки = "" + ПечТекстСтроки + " ("+Строка(ПечТекстСтроки.ГлубинаКредита)+" дн.)";
           КонецЕсли;    
           
           Если (НазваниеГруппировки = "Договор") и (Ном < НомерГруппировкиПоКонтрагенту) Тогда
               ПечТекстСтроки = ""+СокрП(ТекРасшифровка.Владелец.Наименование)+"; "+ПечТекстСтроки;
           ИначеЕсли НазваниеГруппировки = "Документ" Тогда
               ПечТекстСтроки = ""+глПредставлениеДокумента(ПечТекстСтроки)+
                                " (" + СокрЛП(глИнформацияПоДокументуВЖурнале(ПечТекстСтроки)) + ")"+?(СокрЛП(ПечТекстСтроки.Комментарий)="",""," ("+СокрЛП(ПечТекстСтроки.Комментарий)+")");
           ИначеЕсли НазваниеГруппировки = "КредДокумент" Тогда
               ПечТекстСтроки = глПредставлениеДокумента(ПечТекстСтроки)+
                                " (" + СокрЛП(глИнформацияПоДокументуВЖурнале(ПечТекстСтроки)) + ")"+?(СокрЛП(ПечТекстСтроки.Комментарий)="",""," ("+СокрЛП(ПечТекстСтроки.Комментарий)+")");
           КонецЕсли;
           
           Если НазваниеГруппировки = "Документ" Тогда
               ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка,ТекОст,ТекОстВ);
           Иначе
               ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка);
           КонецЕсли;
       
           // если есть более детальная группировка - выведем ее
           Если КоличествоГруппировок > Ном Тогда    
               ВывестиГруппировку(Запрос,Ном+1);
           КонецЕсли;          
       
       КонецЦикла;
   КонецЕсли;

КонецПроцедуры
1 tpudl_bases
 
05.10.12
17:28
просрочка это Запрос.КонОстП,он стандартный в регистре
2 zak555
 
05.10.12
17:36
где разворот по всем группировка, у кого долг ?
3 tpudl_bases
 
05.10.12
17:44
(2)имеется виду долг по документу из этого слайта 1(697,20р) и 2(22234,50) документ:
http://clip2net.com/s/2mMQw
хотя они закрыты строкой выписки банки(которые вводились на основании)
http://clip2net.com/s/2mMRG
4 zak555
 
05.10.12
17:46
(3) первый отчёт разверни по документам ещё и выложи
5 tpudl_bases
 
05.10.12
18:01
родной отчет из базы:
все равно по 1 и 2 документу показывает что не закрыт
http://clip2net.com/s/2mNl5
6 tpudl_bases
 
05.10.12
18:02
вообщем до понедельника................
7 Злопчинский
 
05.10.12
19:44
1. отчет нетиповой в типовой тис нет такого "Договор (торговая точка)" - соответсвенно что там у вас накручено в вашем нетиповом отчете - хз
8 Злопчинский
 
05.10.12
19:45
(3) автор, ты - дятел. Выписки вводимые на соновании ВСЕ РАВНО закрывают долги по ФИФО.
9 Злопчинский
 
05.10.12
19:49
Для понимания ситуации достаточно сделать следующее:
1. восстановить ГП (если не восстановлена)
2. выкинуть нахрен самописные отчеты которые показаны на скриншотах
3. сформировать ШТАТНЫЙ типовой отчет, ПЕРИОД отчета задать с запасом, чтобы "проблемные" документы были примерно с середине отчета, группировки отчета ОБЯЗАТЕЛЬНО задать такие Фирма-Контрагент-Договор-Кредитный документ-Документы движения.
.
смотреть внимательно
10 zak555
 
05.10.12
20:11
(7) где ты такой нашёл ?
11 Злопчинский
 
06.10.12
06:11
(10) на его картинках, там же у него в картинках ведомость по контрагентам с выводом колва дней просрачки.. - такого в штатной ТиС нет.
12 tpudl_bases
 
08.10.12
09:23
(11)какой ТИС,в теме же написано КОМПЛЕКСНАЯ
13 Мимохожий Однако
 
08.10.12
09:50
(12)В Комплексной отчет маленько другой. Посмотри в демо и сравни.
14 tpudl_bases
 
08.10.12
10:01
(13)нашел уже где косяк
15 Злопчинский
 
09.10.12
02:03
(14) кто бы сомневался...
Закон Брукера: Даже маленькая практика стоит большой теории.