Вопрос про запрос (выгрузка в excel)

Новая тема
"Помогите пожалуйста.
Выгружаю из 1С оборотно-сальдовую ведомость в шаблонный файл excel, т.е. необходимо руками указывать ячейки куда выгружаются остатки на начало\конец периода и обороты. Столкнулся с такой проблемой: при выполнении запросов формируются строки в таблицах(виртуальных) только по счетам, имеющим за данный период обороты\остатки... соответственно остальные счета(имеющие пустое значение и по дебету и по кредиту) не отображаются. Например за 2011 год нет сальдо на начало периода по счету 08, а за 2012год есть, в таком случае индекс строки в виртуальной таблице смещается на 1 (был например [3] стал [4])... а при ручном прописывании это чревато тем что вся выгрузка "поплывет". Как можно сделать так, что бы запрос выполнялся и для счетов не имеющих остатков\оборотов, т.е в виртуальной таблице была пустая строка на это месте? Или может быть можно вместо индекса строки [...] например
ВыборкаИтогиОстаткиНаНачало[1].СуммаОстатокДт 

указывать на строку по номеру счета?
Запрос и выгрузка(кусок):

//Запрос ОстаткиНаНачалоЗапросОстаткиНаНачало = Новый Запрос;
ЗапросОстаткиНаНачало.Текст =
("ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.СуммаОстатокДт,
| ХозрасчетныйОстатки.СуммаОстатокКт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), ) КАК ХозрасчетныйОстатки
|УПОРЯДОЧИТЬ ПО
| ХозрасчетныйОстатки.Счет.Код");
ЗапросОстаткиНаНачало.УстановитьПараметр("Дата", НачПериода);
ЗапросОстаткиНаНачало.УстановитьПараметр("Счет", Счет);
РезультатЗапросаОстаткиНаНачало = ЗапросОстаткиНаНачало.Выполнить();
ВыборкаИтогиОстаткиНаНачало=РезультатЗапросаОстаткиНаНачало.Выгрузить();
//Выгрузка
Excel= Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ИмяФайла);
Excel.Sheets(2).Cells(14,2).Value=(ВыборкаИтогиОстаткиНаНачало[1].СуммаОстатокДт)/"1000";
Excel.Sheets(2).Cells(14,3).Value=(ВыборкаИтогиОстаткиНаНачало[1].СуммаОстатокКт)/"1000";
Excel.Visible= Истина;Excel.Application.Quit();
"
> счетов не имеющих остатков\оборотов

так может в запросе тогда сделать объединение  план счетов и остатков/оборотов
Спасибо. Попробую
"Запрос исправил, значения выводит.. но возникла другая проблема

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



значения вводятся по только субсчетам, а мне необходимы оборты в целом по счету. Приходиться складывать по индексу в виртуальной таблице, а это не очень то умно, да конструкция получается зависимая от конкретного плана счетов. Т.е. я беру и складываю определенное количество значений субсчетов и получаю обороты(или остатки) по нужному счету. Например
Excel.Sheets(2).Cells(13,2).Value=(ВОНН[1].СОсД+ВОНН[2].СОсД+ВОНН[3].СОсД)/1000;   


Как можно автоматически складывать обороты субсчетов по счету( например 01) и выбирать из виртуальной таблицы обороты по нужному счету (например по счету), уходя от выборки по индексу ячейки виртуальной таблицы?"
1с.JPG (50.66 КБ)
Сделать ИТОГ по родителю счета не пробовал?
Уже помогли, получилось.. спасибо. Код:
ВЫБРАТЬ    ПланСчетов.Код,    ПланСчетов.Ссылка КАК Ссылка,    ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт,    ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаОборотКтИЗ    ПланСчетов.Хозрасчетный КАК ПланСчетов        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, , , , , , ) КАК ХозрасчетныйОбороты        ПО ПланСчетов.Ссылка = ХозрасчетныйОбороты.СчетГДЕ    НЕ ПланСчетов.ЗапретитьИспользоватьВПроводках УПОРЯДОЧИТЬ ПО    ПланСчетов.КодИТОГИ    СУММА(СуммаОборотДт),    СУММА(СуммаОборотКт)ПО    Ссылка ИЕРАРХИЯ



 
Читают тему
(гостей: 1)

Быстрый переход