Имя: Пароль:
1C
1C 7.7
v7: Бухгалтерский запрос
0 kupec
 
18.02.14
15:35
Ит41=СоздатьОбъект("БухгалтерскиеИтоги");
    Ит41.ИспользоватьСубконто(ВидыСубконто.Товары,,1,0);
    Ит41.ИспользоватьСубконто(ВидыСубконто.Подразделения,,1);
    Ит41.ВыполнитьЗапрос(ДатаНач,ДатаКон,"41.3,41.9","90.2.1,90.2.2,90.2.3",,3,"День",5)
    Ит41.ВыбратьСубконто(1);
    Пока Ит41.ПолучитьСубконто(1)=1 Цикл
        Ит41.ВыбратьСубконто(2);
        Пока Ит41.ПолучитьСубконто(2)=1 Цикл
            Ит41.ВыбратьПериоды(1,0,,1);
               Сообщить("После выборки периода");
               Пока Ит41.ПолучитьПериод() = 1 Цикл
                   Сообщить("Получаю период");
            КонецЦикла;
               Сообщить("Закончил получать периоды");
            Сообщить("Перед выборкой счета");
            Ит41.ВыбратьСчета();
               Сообщить("После выборки счета");
        КонецЦикла;
    КонецЦикла;

Имеется вот такой код...1С вылетает после ИТ41.ВыбратьСчета() с окном отправить не отправить майкрософту отчет об ошибках
если ремарю блок начиная со строки выбрать периоды и заканчивая сообщить перед выборкой счета то обработка проходит, в чем может быть дело, второй день бьюсь
1 kupec
 
18.02.14
15:40
База SQL 2000 на сервере 2003
2 kupec
 
18.02.14
15:50
также если
Ит41.ВыполнитьЗапрос(ДатаНач,ДатаКон,"41.3,41.9","90.2.1,90.2.2,90.2.3",,3,"День",5)
3 заменить на 2 то все проходит
3 ifso
 
18.02.14
16:10
релиз платформы последний?
4 kupec
 
18.02.14
16:14
27
5 kupec
 
18.02.14
16:17
Ит41.ИспользоватьСубконто(ВидыСубконто.Товары,СписокТоваров,1,0);
чем больше списоктоваров тем больше вероятность вылета
6 kupec
 
18.02.14
16:19
Тоже самое и про период, чем он больше тем и вылеты чаще
7 ifso
 
18.02.14
16:38
х3
Разве что посмотреть, всегда ли запрос выполняется.
8 KishMish
 
18.02.14
17:51
ну в принципе должно работать, но возможно система вылетает из за обилия открытых выборок, + к этому

Выбираешь периоды, выборка заканчивается и на этом же уровне  ПолучитьСубконто(2) начинаешь выбирать счета.

А если счета поставить внутри Выбрать периоды?

Или использовать номер выборки
как-то так

Ит41.ВыбратьСубконто(2,,,0);
Пока Ит41.ПолучитьСубконто(2,0)=1 Цикл
    Ит41.ВыбратьСубконто(2,,,1);
    Ит41.ПолучитьСубконто(2,1);
   ///  ВЫБОРКА ПО ПЕРИОДАМ
Ит41.ВыбратьСубконто(2,,,2);
    Ит41.ПолучитьСубконто(2,2);
   ///ВЫБОРКА ПОСЧЕТАМ

КонецЦикла;

а может и нет
9 acanta
 
18.02.14
21:52
В описалове к SQL версии в прошлой жизни были какие-то ограничения к бух.запросам с корсчетами.То ли не работал фильтр.
10 Torquader
 
18.02.14
23:06
(8) Если из-за обилия открытого - то монитор памяти в помощь.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан