Имя: Пароль:
1C
1C 7.7
v7: 1с 7.7 некорректно отрабатывает Ит.ВыбратьСубконто()
0 Gera1t
 
29.09.20
10:35
Есть отчет с вот таким кодом:

    СохранитьЗначение("КарточкаОргСчетСчет", Счет);
    СохранитьЗначение("КарточкаОргСчетОрг", Орг);

    Рас=СоздатьОбъект("СписокЗначений");

    Т=СоздатьОбъект("Таблица");
    Т.ИсходнаяТаблица("Таблица");
    Ит=СоздатьОбъект("БухгалтерскиеИтоги");
    Если Орг.Выбран()=1 Тогда
        ВыводитьИтоги=0;
        Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Орг, 2);
    Иначе
        ВыводитьИтоги=1;
        Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
    КонецЕсли;  
    Ит.ВыполнитьЗапрос(Дата1, Дата2, Счет,,,, 3);

    Ит.ВыбратьСубконто();
    Пока Ит.ПолучитьСубконто()=1 Цикл
        ПечОрг=Ит.Субконто();
        Состояние(""+ПечОрг);
        Т.ВывестиСекцию("Шапка");
        Ит.ВыбратьПериоды();
        Пока Ит.ПолучитьПериод()=1 Цикл
            Док=Ит.Операция.Документ;
            ИД=ИмяДок(Док);  
            Т.ВывестиСекцию("Строка");
        КонецЦикла;
        Т.ВывестиСекцию("Подвал");
    КонецЦикла;
    Если ВыводитьИтоги=1 Тогда
        Т.ВывестиСекцию("Подвал1");
    КонецЕсли;
    Т.ПовторятьПриПечатиСтроки(4, 4);
    Т.ТолькоПросмотр(1);
    Т.Опции(0, 0, 3, 0,"КарточкаОрг");
    Т.Показать("Карточка организации с "+Дата1+" по "+Дата2, "");


Проблема в следующем: Если формировать этот отчет когда в базе не кого нет, то все формируется нормально, выводятся долги с расшифровкой по документам.
Но если формировать отчет когда в базе сидит народ, то отчет формируется некорректно.
А именно, остаток долга на начало периода всегда правильное, а вот расшифровка по документам может не сработать совсем, может сработать на половину периода, может на несколько дней.
Т.е. формирую отчет за сентябрь, по контрагенту есть документы почти за каждый день, долг на начало всегда показывает. А когда дело доходит до Ит.ВыбратьСубконто(), может показать документы например только с 1 по 7, может с 1 по 20, может вообще не показать, может показать все. И соответственно долг на конец тоже некорректный.
Остаток на начало показываю через Ит.СНД()#Ч015.2., Ит.СНК()#Ч015.2., Долг на конец через Ит.СКД()#Ч015.2., Ит.СКК()#Ч015.2.,
В чем проблема не пойму.
1 Gera1t
 
29.09.20
10:37
Просто не знаю как работают БИ.
Может блокировка какая то срабатывает
2 Gera1t
 
29.09.20
10:47
Или транзакцию использовать, хз даже.
3 tgu82
 
29.09.20
10:55
(0) Высчитывай по документам долг на начало+приход-расход=долг на конец.
Обороты он правильно показывает при расшифровке?
4 Gera1t
 
29.09.20
11:06
(3) Если косяк происходит, то правильно показывает только долг на начало
5 ДенисЧ
 
29.09.20
11:07
Размеры файлов базы?
Переиндексацию делали?
С сеткой всё в порядке?
6 Gera1t
 
29.09.20
11:11
(5) База файловая, тестирование с переиндексацией делал, работают через rdp
7 skafandr
 
29.09.20
11:20
(6) попробуйте пересчитать БИ,есть там такая фишечка
8 Gera1t
 
29.09.20
11:45
(7) Спасибо, попробую.
9 Ёпрст
 
29.09.20
11:45
(0)
удалить файло итогов и итогов по субконто и пересчитать бухитоги