|
v7: Запрос. Как связать данные справочника и данные регистра ? | ☑ | ||
---|---|---|---|---|
0
DenisSol
16.05.12
✎
10:21
|
Добрый день.
Подскажите как можно написать Запрос в конфигурации “Торговля и Склад ред. 9.2” системы 1С Предприятие 7.7. Задача: В отчет “Продажи” необходимо вывести группировку “Категории”. Есть Справочник “Категории Контрагентов” подчинен справочнику контрагенты. Запрос в отчете обращается только к Регистру.ПартииТоваров. В регистре есть измерение Контрагент. ТекстЗапроса=" |ПЕРИОД С ДатаНачала По ДатаКонца; |Фирма = Регистр.ПартииТоваров.Фирма; |Поставщик = Регистр.ПартииТоваров.Поставщик; Как можно связать значения регистра с элемента справочника “Категории Контрагентов” ? |
|||
1
yam
16.05.12
✎
10:22
|
если категорий много, какую выводить надо?
|
|||
2
Voronve
16.05.12
✎
10:23
|
|Поставщик = Регистр.ПартииТоваров.<Твой идентификатор категории в регистре>.Владелец;
|
|||
3
DenisSol
16.05.12
✎
10:24
|
(1) Группировать
|
|||
4
DenisSol
16.05.12
✎
10:26
|
(2) В регистре на прямую нет ссылки на справочник “Категории Контрагента”. Владелец Контрагент.
|
|||
5
Voronve
16.05.12
✎
10:28
|
(4) Собстна, в этом случае, шарясь по регистру ПартииТоваров как хочешь получить категории партии ? Может ссылка на категорию есть в справочнике партий ?
|
|||
6
yam
16.05.12
✎
10:31
|
(3) Сама постановка задачи неправильна. Какая структура регистра партии товаров?
|
|||
7
DenisSol
16.05.12
✎
10:34
|
(5)Нет. Ссылки на элемент справочника “Категорию контрагента” к сожалению в партии нет. В регистре есть только контрагент, у контрагента подчиненные справочник “Категорию контрагента”. А вот как получить уже не знаю… как вариант
|Категория = Справочники.КатегорииКонтрагента.ТекущийЭлемент(); |Поставщик = Регистр.ПартииТоваров.Поставщик; |Условие(Категория.Владелец() = Поставщик) Не проверял но думаю не отработает |
|||
8
Voronve
16.05.12
✎
10:35
|
(7) не сработает. нужна или ссылка в регистре или ссылка в справочнике.
|
|||
9
DenisSol
16.05.12
✎
10:40
|
(6) Весь запрос
ТекстЗапроса=" |ПЕРИОД С ДатаНачала По ДатаКонца; |Фирма = Регистр.ПартииТоваров.Фирма; |Товар = Регистр.ПартииТоваров.Товар; |Емкость = Регистр.ПартииТоваров.Товар.Емкость; |МнЕмк = Регистр.ПартииТоваров.Товар.МножительЕмкости; |Крепость=Регистр.ПартииТоваров.Товар.Крепость; |ВидТовара = Регистр.ПартииТоваров.Товар.Префикс; |Отечественный = Регистр.ПартииТоваров.Товар.Происхождение; |Алкогольный = Регистр.ПартииТоваров.Товар.Алкогольный; |Производитель = Регистр.ПартииТоваров.Товар.Производитель; |Валюта = Регистр.ПартииТоваров.Товар.ВалютаУчета; |Покупатель= Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Клиент, |Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Клиент; | |Плательщик= Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Клиент.ОснЮрЛицо, |Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Клиент.ОснЮрЛицо; |ГПокупатель = Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Клиент.Родитель, |Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Клиент.Родитель; |Агент = Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Договор.Агент, |Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Договор.Агент; |Склад = Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Склад, |Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Склад; |Поставщик = Регистр.ПартииТоваров.Поставщик; //ИИВ 28.01.04 |Район = Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Клиент._Местоположение, |Регистр.ПартииТоваров.ТекущийДокумент.ПриходнаяНакладная.Клиент._Местоположение; // |Поставка = Регистр.ПартииТоваров.Поставка; |ПрихДокумент = Регистр.ПартииТоваров.ПрихДокумент; |ТекДок = Регистр.ПартииТоваров.ТекущийДокумент; |ОстатокТовара = Регистр.ПартииТоваров.ОстатокТовара; |Стоимость = Регистр.ПартииТоваров.Стоимость; |СтоимостьНП = Регистр.ПартииТоваров.СтоимостьНП; |СуммаНДС = Регистр.ПартииТоваров.НДСРасхода; |НДС = Регистр.ПартииТоваров.НДС; |НП = Регистр.ПартииТоваров.НП; |Оборот = Регистр.ПартииТоваров.Оборот; |КодОперации = Регистр.ПартииТоваров.КодОперации;"; ЧислоГруппировок=0; Для Н=1 По ПорядокГруппировки.РазмерСписка() Цикл ЧислоГруппировок = ЧислоГруппировок + ДобавитьГруппировку(ТекстЗапроса, Н); КонецЦикла; Если ЧислоГруппировок=0 Тогда ТекстЗапроса=ТекстЗапроса+" |Группировка Товар Без групп;"; СписокГруппировок.ДобавитьЗначение("Товар"); КонецЕсли; ТекстЗапроса=ТекстЗапроса+" |Группировка Валюта;"; СписокГруппировок.ДобавитьЗначение("Валюта"); ТекстЗапроса=ТекстЗапроса+" |Функция РасхОстатокТовара = Расход(ОстатокТовара ); |Функция ПрихОстатокТовара = Приход(ОстатокТовара ); |Функция РасхСтоимость = Расход(Стоимость ); |Функция ПрихСтоимость = Приход(Стоимость ); |Функция РасхСтоимостьНП = Расход(СтоимостьНП ); |Функция ПрихСтоимостьНП = Приход(СтоимостьНП ); |Функция ПрихНДС = Приход(НДС ); |Функция РасхНДС = Расход(НДС ); |Функция ОборотТовара = Сумма(Оборот ); |Функция НДСТовара = Сумма(СуммаНДС ); |Функция НалогПродаж = Сумма(НП ); |Условие (Фирма = ВыбФирма ); |Условие (Не(Оборот = 0 )); |Условие (КодОперации В КодыОперацийПродажи ); |"; |
|||
10
пипец
16.05.12
✎
10:40
|
(7) чистый васьмерошник ?
|
|||
11
DenisSol
16.05.12
✎
10:42
|
(8) Другого варианта нет ? или использовать ТаблицуЗначений
|
|||
12
Voronve
16.05.12
✎
10:43
|
(11) У контрагента в карточке есть ссылка на справочник категории ?
|
|||
13
пипец
16.05.12
✎
10:43
|
(11) или список значений , но реквизит а не ссылку
|
|||
14
DenisSol
16.05.12
✎
10:43
|
(10) На счет знания языка программирования ? Знаю и 7.7. Полезно узнать мнение тех кто знает больше.
|
|||
15
DenisSol
16.05.12
✎
10:46
|
(12)Такого реквизита как пример ОсновнаяКатегирияКонтрагента, нет. Есть только подчиненный справочник. Если такую связь невозможно реализовать запросом, перейду к реквизиту.
|
|||
16
Voronve
16.05.12
✎
10:47
|
(15) Если и в документах нет категории, то швах. Реализовывай через "ОсновнаяКатегирияКонтрагента"
|
|||
17
Конфигуратор1с
16.05.12
✎
10:48
|
(15)как вариант делаем запрос к справочнику категории получаем контрагент категория выгружаем в тз, после этогоделаем запрос к регистру дозаполняем тз. Тз сворачиваем.
|
|||
18
DenisSol
16.05.12
✎
10:50
|
Большое спасибо ВСЕМ за ваши ценные советы.
|
|||
19
Ёпрст
16.05.12
✎
10:51
|
(0) В чорном запросе никак
Можно только условие наложить или условие на вычисление функции и всё. Переменную, а тем более группировку не слепишь. А вот в прямом запросе можно всё. |
|||
20
DenisSol
16.05.12
✎
10:54
|
(19) Можно чут чуть по подробнее про прямой Запрос
|
|||
21
Ёпрст
16.05.12
✎
10:55
|
||||
22
Ёпрст
16.05.12
✎
10:55
|
||||
23
yam
16.05.12
✎
11:15
|
ага, сейчас он прям освоит прямые запросы))
|
|||
24
Ёпрст
16.05.12
✎
11:17
|
всё может быть, мот он dba developer
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |