Запрос по Com из УТ 10.3 в Бух 2.0

1. rar_xxx 23 10.10.11 11:36 Сейчас в теме
Народ помогите пытаюсь сделать запрос из УТ 10.3 в Бух 2.0
этот же запрос в бух возвращает значение, в УТ пустой. Причем если убрать отбор по счету то в УТ запрос не пустой. Видимо надо счет как то по другому передавать в запрос, но код счета передаю строкой, запрос все равно пустой. Неохота в бух писать функцию с этим запросом, бухгалтерий потому что 3 и некрасиво чтоли как то.



ТекCOMПодключение = Новый COMОбъект("V82.COMConnector");
v8 = ТекCOMПодключение.Connect("File=""" + Путь1с + """;Usr="""+ User + """;Pwd=""" + Пароль+""";");
Запрос = v8.newObject("Запрос");
Текст ="
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1,
| ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Субконто1),
| ХозрасчетныйОстатки.СуммаОстаток,
| ХозрасчетныйОстатки.КоличествоОстаток
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет.Код = &Код, , ) КАК ХозрасчетныйОстатки";


ИЛИ так

//| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки";

Счет = v8.ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01");
Запрос.УстановитьПараметр("Счет",Счет);
Запрос.УстановитьПараметр("Период", КонецДня(Период));
Запрос.УстановитьПараметр("Код",СокрЛП(КодСчета));
Запрос.Текст = Текст;

Рез = Запрос.Выполнить().Выбрать();

так тоже пусто

Текст ="
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1,
| ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Субконто1),
| ХозрасчетныйОстатки.СуммаОстаток,
| ХозрасчетныйОстатки.КоличествоОстаток
|ИЗ
//| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет.Код = &Код, , ) КАК ХозрасчетныйОстатки";

| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Счет В ИЕРАРХИИ(&Счет)";

Счет = v8.ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета);
Запрос.УстановитьПараметр("Период", КонецДня(Период));
Запрос.УстановитьПараметр("Код",СокрЛП(КодСчета));

Запрос.УстановитьПараметр("Счет",Счет.Ссылка);
Запрос.Текст = Текст;



Рез = Запрос.Выполнить().Выбрать();

и так пусто причем в бух. этот код дает выборку.

|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1,
| ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Субконто1),
| ХозрасчетныйОстатки.СуммаОстаток,
| ХозрасчетныйОстатки.КоличествоОстаток
|ИЗ
//| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет.Код = &Код, , ) КАК ХозрасчетныйОстатки";

| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Счет.Код = &Код";

//Счет = v8.ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета);
Запрос.УстановитьПараметр("Период", КонецДня(Период));
Запрос.УстановитьПараметр("Код","10.01");
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Alex_Japanese_Student 454 10.10.11 12:12 Сейчас в теме
(1) rar_xxx, А как ты бегаешь по итогам запроса и что ты пытаешься с ними сделать
У тебя же субконто - это объекты другой базы, в этой базе они будут пустыми у тебя - тебе надо результаты запроса простыми типами возвращать - числами, строками
volokitinac; +1 Ответить
3. rar_xxx 23 10.10.11 12:44 Сейчас в теме
я прост количество() смотрю в результате оно 0.
и так возвращается обычный результат запроса. Вот проверил сейчас такой код. Там где стоит стрелка точка останова, табло
Рез.Субконто1.Метаданные().Имя "Контрагенты" Строка
проблема мне кажется либо в том что по такому типу регистров не построишь запрос либо надо как то по другому счет в него совать. Я подобными запросами несколько отчетов написал между 8.1 и 7.7. Вот теперь надо 8.2-8.2 освоить.


Запрос = v8.newObject("Запрос");
Текст ="
|ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1,
| ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Субконто1),
| ХозрасчетныйОстатки.СуммаОстаток,
| ХозрасчетныйОстатки.КоличествоОстаток
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки";


Запрос.УстановитьПараметр("Период", КонецДня(Период));
Запрос.Текст = Текст;


Рез = Запрос.Выполнить().Выбрать();
ТЗ = новый ТаблицаЗначений();
ТЗ.Колонки.Добавить("Наименование");
ТЗ.Колонки.Добавить("ID");
ТЗ.Колонки.Добавить("Кол");

Пока Рез.Следующий() цикл
стр = ТЗ.Добавить();
--------------->стр.Наименование = Рез.Субконто1.Наименование;
стр.ID = v8.ЗначениеВСтрокуВнутр(Рез.Субконто1);
стр.Кол = Рез.КоличествоОстаток;
КонецЦикла
4. rar_xxx 23 10.10.11 13:44 Сейчас в теме
Редкая глупость)) проверял на базе у которой по нужному счету нет остатков )). Запрос проверял на базе у которой есть остатки. А обработку запускал на базе у которой нет остатков по этому счету)))
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)