(3 ) theelectric , запросом так не получится, то же делал такое через Таблицы значений, вот мое решение:
Код 1C v 8.х // Запрос с выборкой а далее код
//Создадим ТЗ для расчета документов
ТЗдок = Новый ТаблицаЗначений;
ТЗдок.Колонки.Добавить("Реестр");
ТЗдок.Колонки.Добавить("База");
ТЗдок.Колонки.Добавить("НДФЛ");
ТЗдок.Колонки.Добавить("Удержание");
ТЗдок.Колонки.Добавить("Рубли");
ТЗдок.Колонки.Добавить("Валюта");
ВыборкаДетали = ВыборкаСтатьиЗатрат.Выбрать();
//Вывод документов
ТЗдок.Очистить();
Р=0;
У=0;
Пока ВыборкаДетали.Следующий() Цикл
//Определим дату
ВыбДата=ВыборкаДетали.ДатаДокум;
Если Лев(ВыборкаДетали.Регистратор.Метаданные().Имя,6) = "Реестр" Тогда //это реестр
Попытка
новстр = ТЗдок.Получить(Р);
Исключение
новстр = ТЗдок.Добавить();
КонецПопытки;
//новстр = ТЗдок.Вставить(Р);
новстр.Реестр = ВыборкаДетали.Регистратор;
новстр.База = ВыборкаДетали.РублевоеПокрытие;
новстр.НДФЛ = ВыборкаДетали.НДФЛ;
Р=Р+1;
Иначе // это удержание
Попытка
новстр = ТЗдок.Получить(У);
Исключение
новстр = ТЗдок.Добавить();
КонецПопытки;
новстр.Удержание = ВыборкаДетали.Регистратор;
Если ВыборкаДетали.УдержаноВВалюте > 0 тогда
новстр.Рубли = 0;
Иначе
новстр.Рубли = ВыборкаДетали.НДФЛ *(-1);
КонецЕсли;
новстр.Валюта = ВыборкаДетали.УдержаноВВалюте;
У=У+1;
КонецЕсли;
КонецЦикла;
//Теперь выведем документы
Для Каждого стр из ТЗдок Цикл
ОбластьДетальныхЗаписей.Параметры.Реестр = СтрЗаменить(Лев(стр.Реестр,СтрДлина(стр.Реестр)-8), "00000","");
ОбластьДетальныхЗаписей.Параметры.База = стр.База;
ОбластьДетальныхЗаписей.Параметры.НДФЛ = стр.НДФЛ;
ОбластьДетальныхЗаписей.Параметры.Удержание = СтрЗаменить(Лев(стр.Удержание,СтрДлина(стр.Удержание)-8), "00000","");
ОбластьДетальныхЗаписей.Параметры.Рубли = стр.Рубли;
ОбластьДетальныхЗаписей.Параметры.Валюта = стр.Валюта;
ТабДок.Вывести(ОбластьДетальныхЗаписей);
КонецЦикла;
//Вывели, теперь итог посчитаем
БазаИТ = БазаИТ + ТЗдок.Итог("База");
НДФЛИТ = НДФЛИТ + ТЗдок.Итог("НДФЛ");
РублиИТ= РублиИТ + ТЗдок.Итог("Рубли");
ВалютаИТ = ВалютаИТ + ТЗдок.Итог("Валюта");
КонецЦикла;
Изменено 03.09.12 16:51:39