Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: СКД комплексный отчет по нескольким метаданным
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
bizisoft
Здравствуйте.
Альфа-Авто 4.1
Есть внешняя обработка, которая выполняет несколько запросов по Номенклатура, Партии, Цены(срез последних), Продажи.
В качестве параметра:
а) Номенклатура - как единичный товар, группа товаров, табличная часть документа.
б) список складов
в) список типов цен
Результаты выполнения запросов потом в цикле сводятся в общую таблицу по столбцам (остатки по складам, цены по типам цен, продажи по складам).
Теперь еще требуется добавить информацию по продажам каждого товара за период(ы) и информацию по ценам поставщиков (прайс-листы контрагентов).

Добавлять очередные запросы и циклы для обработки результатов в общую таблицу будет не по феншую, как в прочем и сама обработка, т.к. выполнение "отчета" и так занимает значительное время.

Подскажите пожалуйста, как правильно в СКД объединить это все в одно целое.
Изначально я попробовал в конструкторе запросов добавить в набор данных сразу все необходимые объекты, но при запуске процесс сразу откушал 4Гб оперативки - пришлось рубить.
Потом попробовал для каждого объекта добавить свой набор данных и установить связи, но и тут не получилось разобраться что с чем связывать.

Помогите разобраться, как в СКД сделать такой сложный отчет.
bizisoft
bizisoft @ 02.11.17, 12:34 необходимо зарегистрироваться для просмотра ссылки ,

И вновь продолжается бой, и сердцу тревожно в груди, и снова отчет СДК никак не может срастись...

Вроде с "простым" отчетом получается (один объект метаданных например РегистрВзаиморасчеты или ПартииОбороты), а вот с множеством объектов метаданных не выходит каменный цветок - ума не приложу как их тут свести в одно.

Пробовал в запросе добавлять несколько объектов: Номенклатура, ПартииТоваров, ЦеныСрезПоследних, Продажи, ПрайсыПоставщиков, ЗаказыПоставщиков, СчетОтПоставщика.
Но при попытке эти объекты связать например по Номенклатуре не дает результатов и ругается.
Может разные объекты нужно формировать каждый в своем наборе данных, а потом эти наборы данных связывать, но и здесь у меня проблема - как это все связать воедино, не получается.

Пока сделал все через внешнюю обработку через функции.
В процедуре последовательно вызываю функции, которые выполняют запросы по каждому объекту отдельно, потом пробегаю циклом по ТЗ и "преобразую/переношу" необходимые данные из строк в столбцы.
После чего функция возвращает результирующую ТЗ.
После каждой функции вызывается функция объединения полученной ТЗ с итоговой.
Все это настолько топорно получилось, что самому противно, но это нужно было сделать быстро, чтобы хоть что-то было, пока это не реализуется в СКД.
И этот монстр работает очень медленно

Но со временем требуют добавить еще объекты, чтобы в результате было больше информации и это наверное не предел., то ли еще будет.

Может нужно делать запросы по каждому объекту, как в обработке и помещать результирующие ТЗ в объекты, а потом в СКД их связывать и выводить в общий отчет?

Помогите советом пожалуйста, наставьте на путь истинный, как правильно это сделать.
Vofka
Покажите на примере двух объектов что вы делаете и что не получается.
sava1
Для начала освойте Консоль запросов, получите в ней результат, а потом "внедряйтесь" в СКД
bizisoft
Цитата(Vofka @ 13.02.18, 14:13) необходимо зарегистрироваться для просмотра ссылки
Покажите на примере двух объектов что вы делаете и что не получается.

Добавляю НаборДанных1 нажимаю КонструкторЗапросов добавляю Номенклатура и ПартииТоваровКомпанииОстатки, для них указываю нужные поля Далее Связи.
Там уже автоматом установилась связь
ПартииТоваровКомпанииОстатки - Номенклатура --- ПартииТоваровКомпанииОстатки.Номенклатура = Номенклатура.Ссылка

Жму Ок - и получаю по голове {(14,50)} Неоднозначное поле "Номенклатура.Ссылка" ПО ПартииТоваровКомпанииОстатки.Номенклатура = <<?>>Номенклатура.Ссылка


Второй вариант Добавляю два набора данных - 1.Номенклатура, 2. ПартииТоваровОстаток
Связку указываю ИсточникСвязи - Номенклатура, ПриемникСвязи - ПартииТоваровОстаток;
ВыражениеИсточник - Ссылка, Выражение приемник - Номенклатура
Остальные параметры не заполняю

Ресурсы указываю Количество и Суммы
Настройки формирую мастером.

Ошибки не выдает, но и ничего не показывает.


Цитата(sava1 @ 13.02.18, 14:38) необходимо зарегистрироваться для просмотра ссылки
Для начала освойте Консоль запросов

Вы имеете ввиду изначально отладить запрос в консоле? А если запрос будет составным или с объединениями это не отразится на СКД отчете ?
sava1
Цитата(bizisoft @ 13.02.18, 14:11) необходимо зарегистрироваться для просмотра ссылки
это не отразится на СКД отчете ?

никак
Vofka
Цитата(bizisoft @ 13.02.18, 14:11) необходимо зарегистрироваться для просмотра ссылки
Жму Ок - и получаю по голове {(14,50)} Неоднозначное поле "Номенклатура.Ссылка"

После того, как вы добавляете таблицу справочника Номенклатура в конструкторе запросов, она появляется в области Таблица с именем Номенклатура. Клацните там правой кнопкой, нажмите переименовать и введите имя СпрНоменклатура.
bizisoft
Vofka @ Сегодня, 15:14 необходимо зарегистрироваться для просмотра ссылки ,
Благодарю, ошибки теперь не возникает.
Получается коллизия из-за этого возникала, система думала, что это поле неуказанного регистра/документа?

А как правильно сделать, чтобы например склады и цены выводились не строками, а столбцами?
Я в настройках (там где строки, колонки, таблицы) их указал в столбцах, но они все равно строками.
podcast
bizisoft @ Сегодня, 15:28 необходимо зарегистрироваться для просмотра ссылки ,
Сделайте таблицу и в колонках укажите Склады и цены.
bizisoft
podcast @ Вчера, 16:58 необходимо зарегистрироваться для просмотра ссылки ,
Прошу прощения, а можно уточнить, а то не совсем уяснил где это нужно.
podcast
bizisoft @ Сегодня, 12:38 необходимо зарегистрироваться для просмотра ссылки ,
bizisoft
podcast @ Сегодня, 15:10 необходимо зарегистрироваться для просмотра ссылки ,
Добавляю еще одну таблицу.
В результате появляется еще одна таблица, но требуется немножко другое - нужна одна таблица, некоторые данные из строк нужно перенести в колонки.

Например
Выводит что-то в таком виде
Номенклатура Склад Остаток ТипЦены Цена
Товар1 Скл1 2 ОПТ 1,2
Товар1 Скл2 4 ОПТ 1,2
Товар1 Скл3 5 ОПТ 1,2

Товар1 Скл1 2 ОПТ1 1,5
Товар1 Скл2 4 ОПТ1 1,5
Товар1 Скл3 5 ОПТ1 1,5

Товар1 Скл1 2 РОЗН 2
Товар1 Скл2 4 РОЗН 2
Товар1 Скл3 5 РОЗН 2

А нужно получить что-то похожее, но в одной таблице
Номенклатура Скл1 Скл2 Скл3 ОПТ ОПТ1 РОЗН
Товар1 2 4 5 1,2 1,5 2

Такое возможно это сделать?
podcast
bizisoft @ Сегодня, 14:55 необходимо зарегистрироваться для просмотра ссылки ,
Добавьте Склад и Тип цены в колонку, а Номенклатуру и цену в строки, должно получиться.
bizisoft
podcast @ Вчера, 17:31 необходимо зарегистрироваться для просмотра ссылки ,
Скажите пожалуйста, а "Другие настройки" нужно что-то изменять?
Все равно не получается.
Добавил Остаток и Цену в строки, так оно их дополнительными (отдельными) строками выводит.
Пробовал объединять в группы и настройках ставил Выводить реквизиты отдельно.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.