Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 20:47

Помогите с СКД пожалуйста

Автор ИгорьШпак, 10 сен 2012, 12:05

0 Пользователей и 1 гость просматривают эту тему.

ИгорьШпак

Люди добрые помогите пожалуйста или подскажите!!!
Вот задание:  как можно вывести дельту между заказанным товаром и отгруженным в разрезе накладных и брендов с помощью СКД??
1 - есть регистр накопления.
2 - есть документ закзтовара, есть скажем отгрузка товара

Как с помощью СКД сделать такой отчет?! Подскажите

ИгорьШпак

Как бы я понимаю все, но как мне поставить правильное условие...
Я имею ввиду : УстановитьПараметр("Контрагент", Контрагент); скажем так, если в СКД я так понял так не сделаешь? или я что-то путаю?


MuI_I_Ika

УстановитьПараметр("Контрагент", Контрагент)
в СКД будет выглядеть как

ПараметрКонтрагент = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Контрагент");
   ПараметрКонтрагент .Значение = Контрагент;
   ПараметрКонтрагент .Использование = Истина;

А вообще в СКД, условие лучше делать через условие, а не через параметры.

Klyacksa

Думаю, врядли автор СКД "ручками" запускает.

В СКД возможно несколько вариантов наложения отборов:
1. Стандартно, добавляем условие в запрос, с параметром. На закладке СКД Настройки, добавляем параметр в пользовательские настройки.
2. В запросе на закладке Компоновка данных->Условие добавляем нужное поле в условие. Далее, сам отбор уже устанавливаем в СКД на закладке Настройки.
3. В СКД на закладке Настройки устанавливаем отбор на уже полученную таблицу.

При этом, варианты 1-2 отрабатывают отбор еще на этапе построения запроса, сразу "выкидывая" ненужные данные, а вариант 3 отрабатывает отбор уже на полученную запросом таблицу, что может увеличить время выполнения.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

ИгорьШпак

Люди добрые я пока только учусь 8.2.  Попробую описать ситуацию другими словами. Формулировка задачи остается таже (про дельту в разрезе). У меня есть регистр накопления, скажем ЗаказыПлставщику. При запуске 1с  и выборе данного регистра - появляется список с документами-регистраторами. Там 2 вида: закз товара и отгрузка. Теперь встает вопрос : нужно реализовать отчет в скд по условию выше. Подскажите как бы это реализовать. ((((

Я стопорюсь на том, что надо или нет создавать форму для отчета на котором поместить некоторые элементы: типа организации, контрагента итд, но в тоже время для формирования отчета в скд, код впринципе не прописывается. КМожет подскажите - мне лучше делать отчет по всем (к примеру организациям, контрагентам) или по конкретному ?? Просто я не могу чет понять как мне к примеру из списка документов в регистре накоплений, найти и соотнести все документы заказа товара и их отгрузки: т.е. к примеру по контрагенту ( документ заказа есть, данные есть, ищем документ отгрузки, нашли , сравнили данные и вывели в отчете строку сравнения + может некоторый анализ) потом далее ищем итд. Или сразу вывести всех контрагентов..
Надеюсь хоть немного понятнее выразился?
помогите пожалуйста
спасибо

ИгорьШпак

Немного еще уточнусь))) Есть 2 документа : заказпоставщику и отгрузкатовара. Есть регистр накоплений : ЗаказПоставщику. В этом регистре находятся доки-регистраторы (заказпоставщику и отгрузкатовара). В режиме предприятие если открыть регистр накопления , то мы увидим список документов. Причем в одной строке будет написано ЗАКАЗ, а в другой ПОСТУПИЛО  ... то к примеру. Так вот вопрос как мне в СКД сделать так чтобы я мог вывести скажем по контрагенту все заказы и все отгрузки, посчитать разницу между заказом и отгрузкой ... ну или еще что-нибудь в этом роде....?

ИгорьШпак

Еще такой момент. В документе скажем заказпоставщику есть поле номер1 , а в доке отгрузка товаров есть поле номер2. Мне необходимо из регистра накоплений выбрать те документы где номер1 будет равен номер2

Klyacksa

Напишите в начале запрос, оттестируйте, получите нужные данные.
А потом уже развлекайтесь с группировками в нужных форматах, выводом данных, и тем более выносом настроек на форму... (это все, кстати, делается в несколько кликов стандартными средствами СКД, без строчки кода)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

ИгорьШпак

так в том то и дело что не могу запрос написать такой... я могу только такое сделать только через запрос = новый Запрос(); ну и там дальше кода написать. А как это сделать в СКД...я помойму писал выше

Klyacksa

Вот и напишите в начале такой запрос, какой можете. Отладьте. А потом уже изучайте СКД.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск