Имя: Пароль:
1C
1C 7.7
v7: Объединение в запросе 7.7
0 Ainur
 
11.09.12
14:06
Добрый день!!

Есть такой запрос

ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Контрагент = Документ.Реализация.Контрагент;
   |Номенклатура Документ.Реализация.Номенклатура,Справочник.Цены.Владелец;
   |Количество = Документ.Реализация.Количество;
   |Цена = Справочник.Цены.Цена;
   |ТипЦен = Справочник.Цены.ТипЦен;
   |Функция КоличествоСумма = Сумма(Количество);
   |Функция ЦенаСумма = Сумма(Цена) когда(ТипЦен = ВыбТипЦен);
   |Группировка Контрагент без групп;
   |Группировка Номенклатура без групп;
   |"//}}ЗАПРОС


Т.е. хотелось бы увидеть еще в ТЗ цены из справочника на номенклатуру из документа
1 Ёпрст
 
11.09.12
14:20
>>> цены из справочника на номенклатуру из документа

расшифруйте, что это
2 Ёпрст
 
11.09.12
14:20
>>>>    |Функция ЦенаСумма = Сумма(Цена) когда(ТипЦен = ВыбТипЦен);

вот это тоже зачет, ага
3 Ainur
 
11.09.12
14:26
Ну тогда допустим так

ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Контрагент = Документ.Реализация.Контрагент;
   |Номенклатура = Документ.Реализация.Номенклатура, Справочник.Цены.Владелец;
   |Количество = Документ.Реализация.Количество;
   |Цена = Справочник.Цены.Цена;
   |ТипЦен = Справочник.Цены.ТипЦен;
   |Группировка Контрагент без групп;
   |Группировка Номенклатура без групп;
   |Группировка Количество;
   |Группировка Цена;
   |Условие(ТипЦен = ВыбТипЦен);
   |"//}}ЗАПРОС
   ;

Мне надо чтоб номенклатура и количество были из документа, а цена из справочника
4 Ainur
 
11.09.12
14:51
Никак да?
5 Ёпрст
 
11.09.12
14:54
(4) очень даже как
6 Ёпрст
 
11.09.12
14:55
по какому типу цен надо, чтоб цена бралась ?
И на какую дату ?
7 Ainur
 
11.09.12
14:56
На дату документа Тип цен будет в константах
8 Ёпрст
 
11.09.12
14:59
ну, типа того тогда:

   |Период с ВыбНачПериода по ВыбКонПериода;
   |Контрагент = Документ.Реализация.Контрагент;
   |Док = Документ.Реализация.ТекущийДокумент;
   |Номенклатура = Документ.Реализация.Номенклатура;
   |Количество = Документ.Реализация.Количество;
   |Функция Количество = Сумма(Количество);
   |Функция Цена = Максимум(глПолучитьЦену(Номенклатура,ВыбТипЦен,Док.ДатаДок));
   |Группировка Контрагент без групп;
   |Группировка Номенклатура без групп;
   |"//}}ЗАПРОС
9 Ainur
 
11.09.12
15:13
|Период с ВыбНачПериода по ВыбКонПериода;
   |Контрагент = Документ.Реализация.Контрагент;
   |ДатаДок = Документ.Реализация.ДатаДок;
   |Номенклатура = Документ.Реализация.Номенклатура;
   |Количество = Документ.Реализация.Количество;
   |Функция КоличествоСумма = Сумма(Количество);
   |Функция Цена = Максимум(глПолучитьЦену(Номенклатура,ВыбТипЦен,ДатаДок));
   |Группировка Контрагент без групп;
   |Группировка Номенклатура без групп;

Вот так самое то. Спасибо Тебе, Добрый человек!!
10 Ёпрст
 
11.09.12
15:14
(9) не всегда ДатаДок = Документ.Реализация.ДатаДок будет работать (я не помню уже, как там в sql/dbf ...или в регистрах это было ? хз)
11 Ainur
 
11.09.12
15:17
у меня не сработал как Ты написал, база файловая, буду скоро переводить на sql, тогда гляну, а может даже на 8, только переписывать очень много придется
12 Ёпрст
 
11.09.12
15:23
(11) если в (9) работает, то его и оставляй, это быстрее в разы, чем Док.ДатаДок
13 Ёпрст
 
11.09.12
15:24
Это с регистрами ДатаДок и НомерДок по разному получаются в дбф и скульварианте - в каком то из них работает что-то одно.
14 Ainur
 
11.09.12
15:31
Ок запомню Спасибо!