Имя: Пароль:
1C
 
Ole Бух итоги
Ø
0 Yanusya
 
30.08.05
14:54
  Сч=БазаОле.CreateObject("Счет");
  Сч1=БазаОле.CreateObject("Счет");
  Сч = БазаОле.EvalExpr("СчетПоКоду(""62.1"")");
  КорСч = БазаОле.EvalExpr("СчетПоКоду(""51"")");
  БИ = БазаОле.CreateObject("БухгалтерскиеИтоги");
  ВидСубконтоКонтрагентыОле = БазаОле.ВидыСубконто.Контрагенты;
  ВидСубконтоДоговорыОле = БазаОле.ВидыСубконто.Основание;
  БИ.ИспользоватьСубконто(ВидСубконтоКонтрагентыОле);
  БИ.ИспользоватьСубконто(ВидСубконтоДоговорыОле);
  Если БИ.ВыполнитьЗапрос(НачПериода,КонПериода,Сч)=1 Тогда
    БИ.ВыбратьСубконто(1);
    Пока БИ.ПолучитьСубконто(1) = 1 Цикл
      БИ.ВыбратьСубконто(2);
      Пока БИ.ПолучитьСубконто(2) = 1 Цикл
        Если БИ.КО()<>0 Тогда
          Сообщить("Ура все ОК");
        КонецЕсли;
      КонецЦикла;
    КонецЦикла;
  Иначе
    Предупреждение("Не удалось расчитать итоги");
  КонецЕсли;
Требуется сформировать отчет по дебеторам в базе 1С, учет по которым ведется в другой базе.
Никак не понимает субконто. Что не так?
1 Yanusya
 
30.08.05
15:00
Люди ну ответьте, кто могет :(
Как мне добраться через Оле к остаткам и оборотам
2 andreyka
 
30.08.05
15:02
а в той базе итоги рассчитаны?
3 andreyka
 
30.08.05
15:05
(2) Тьфу, не о том я. Что значит, не понимает субконто?
4 andreyka
 
30.08.05
15:11
попробуй: БИ.ВыполнитьЗапрос(НачПериода,КонПериода,"62.1")
5 lanselot
 
30.08.05
15:14
(0) вообще лучше уточни вопрос, но если я тебя правильно понял то через Оле не переносяться Агрегатные типы данных а переноситься только Число строка и дата, поэтому выкавыривай ПолныйКод() и ищи в справочнике, либо создавай строковое выражение для отчета.
6 lanselot
 
30.08.05
15:17
Да и то же самое что ты делаешь с счетами надо делать и с субконто вот так:
ВидСубконтоКонтрагентыОле =БазаОле.EvalExpr("ВидыСубконто.Контрагенты");
7 Yanusya
 
30.08.05
15:19
Дело вот в чем
мне нужно получить всех контрагентов из базы источника по которым есть задолженность
//Определяю в базе источнике вид субконто
ВидСубконтоКонтрагентыОле = БазаОле.ВидыСубконто.Контрагенты;
ВидСубконтоДоговорыОле = БазаОле.ВидыСубконто.Основание;
//хоцу очень запрос в разрезе значений этих субконто
БИ.ИспользоватьСубконто(ВидСубконтоКонтрагентыОле);
БИ.ИспользоватьСубконто(ВидСубконтоДоговорыОле);
Запрос выполняется, но не выбираются субконто
Если я напишу без учета субконто (не буду писать
БИ.ИспользоватьСубконто(ВидСубконтоКонтрагентыОле);
БИ.ИспользоватьСубконто(ВидСубконтоДоговорыОле);)
тады общий остаток по счету получается, т.е. дело в строчках:
ВидСубконтоКонтрагентыОле = БазаОле.ВидыСубконто.Контрагенты;
ВидСубконтоДоговорыОле = БазаОле.ВидыСубконто.Основание;
БИ.ИспользоватьСубконто(ВидСубконтоКонтрагентыОле);
БИ.ИспользоватьСубконто(ВидСубконтоДоговорыОле);
8 noukamp
 
30.08.05
15:24
Можно виды субконто не указывать, т.е.
БИ.ИспользоватьСубконто();
БИ.ИспользоватьСубконто();
БИ.ВыполнитьЗапрос(...)
БИ.ВыбратьСубконто(1);
.........
         БИ.ВыбратьСубконто(2);
9 lanselot
 
30.08.05
15:28
попробуй так все таки, мне кажеться из-за этого, а вообще когда тянешь через Оле постоянно что-то не пролазит, без Отладчика не обойтись
10 lanselot
 
30.08.05
15:31
вообщем наверно либо вариант в (8) либо Виды субконто определи как : ВидСубконтоКонтрагентыОле =БазаОле.EvalExpr("ВидыСубконто.Контрагенты");
11 Yanusya
 
30.08.05
15:32
Усе получилось :))
Всем спасибо
Особенное (8)