Танцор с Бубном
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0
Привет.Пытаюсь сделать отчет, но что-то не получается. Скрин: Код:
ТекстЗапроса = "//{{ЗАПРОС(Сформ) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Товар = Документ.РасходнаяНакладная.Товар; |Контрагент = Документ.РасходнаяНакладная.Контрагент; |Количество = Документ.РасходнаяНакладная.Количество; |Функция КоличествоСумма = Сумма(Количество); |Группировка Товар без групп; |Группировка Контрагент без групп; |Условие(Товар в ВыбТовар); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Если Флаг = 1 Тогда Запрос.Выгрузить(ТЗ,,0); ТЗ.Свернуть("Контрагент, Товар", "Количество"); Возврат; КонецЕсли;
ВыбТовар - это список необходимых товаров? тогда В Заголовке вместо Запрос.Товар - переменную например загТовар В ТекстЗапроса поменять порядок группировок: сначала Контрагент, потом - товар и
Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица1"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок|ШАпка"); Для Сч=1 По ВыбТовар.РазмерСписка() Цикл загТовар = ВыбТовар.ПолучитьЗначение(Сч) Таб.ПрисоединитьСекцию("Заголовок|Товар"); КонецЦикла; Пока Запрос.Группировка(1) = 1 Цикл //Контрагент Таб.ВывестиСекцию("Контрагент|ШАпка");
Пока Запрос.Группировка(2) = 1 Цикл //Товар Таб.ПрисоединитьСекцию("Контрагент|Товар");
КонецЦикла; КонецЦикла;
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Танцор с Бубном
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0
Цитата(nysysimara @ 22.05.12, 14:14)
ВыбТовар - это список необходимых товаров? тогда В Заголовке вместо Запрос.Товар - переменную например загТовар В ТекстЗапроса поменять порядок группировок: сначала Контрагент, потом - товар
Товар это поле ввода с типом Справочник.Номенклатура.В Моем случае он содержит группу товара "Алкоголь". Группировки менять местами я пробовал.Но тогда у меня товар выводился столько раз, скольким контрам он был продан. Бухии нет под рукой что бы глянуть как там формируется шахматка. Может есть еще варианты какие?
|Группировка Контрагент без групп; |Группировка Товар без групп;
после запроса если можно, использовать вашу ТЗ если нет -создать др.таблицу знач.
Если Флаг = 1 Тогда Запрос.Выгрузить(ТЗ,,0); ТЗ.Свернуть("Контрагент, Товар", "Количество"); Возврат; Иначе Запрос.Выгрузить(ТЗ,,0); ТЗ.Свернуть("Товар", "Количество"); ТЗ.Сортировать("Товар"); КонецЕсли;
потом как-то так
Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица1"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок|ШАпка"); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл загТовар = ТЗ.Товар; Таб.ПрисоединитьСекцию("Заголовок|Товар"); КонецЦикла; Пока Запрос.Группировка(1) = 1 Цикл //Контрагент текКонтр = Запрос.Контрагент; Таб.ВывестиСекцию("Контрагент|ШАпка");
КвоТовара=0; //то что вывести в Таб ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл загТовар = ТЗ.Товар; Если Запрос.Получить(текКонтр,загТовар)=1 Тогда КвоТовара=Запрос.КоличествоСумма; КонецЕсли; Таб.ПрисоединитьСекцию("Контрагент|Товар");
КонецЦикла; КонецЦикла;
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Танцор с Бубном
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0
Пробовал.Таким образом выводит только одного самого первого контрагента. А товара выводит по всем контрам.Короче много. Мне же надо, что бы если в папке Алкоголь 4 позиции, то должно выводить их 4. А контрагентов с количеством разворачивало в разрезе этого товара.
мне тогда задача не понятна. А разве количество колонок-товаров не по всем контрагентам? просто ячейки будут заполняться только по нужному контрагенту. а разве нет так шахматка устроена?
Сообщение отредактировал Домовик - 22.05.12, 16:38
Танцор с Бубном
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0
Цитата(Домовик @ 22.05.12, 16:37)
не может быть, чтобы одного контрагента выводило.
мне тогда задача не понятна. А разве количество колонок-товаров не по всем контрагентам? просто ячейки будут заполняться только по нужному контрагенту. а разве нет так шахматка устроена?
Да.Что-то типа того.Т.е. товар должен быть в таблице фиксированный (естественно тот по которому были движения), а контрагенты и количество товара должно меняться.
sava1,прервать при втором обходе нужно убрать. ВсеВошедшие в запрос нужно. Иначе будет выдавать в строках разное количество колонок.только те ячейки, по которым есть количество.
Танцор с Бубном
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0
Ребят, Спасибо.Получилось. Утром смотрел как в Бухии формирует шапку.Имхо ваш вариант для меня проще оказался. Есть правда небольшой нюанс.Перестало Итоги выводить...
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!