Имя: Пароль:
1C
1C 7.7
v7: Прямые запросы: Получить документ оборотного регистра
0 OnePrg
 
19.03.21
12:02
Помогите пожалуйста получить документ из оборотов регистра

SELECT
    RIGHT(Рег.ПозицияДокумента,9) [Док $Документ],
    Рег.IDdocDef AS Док_вид,
    Рег.ОстатокТовараПриход         as ОстатокТовара,
    Рег.ПродСтоимостьПриход         as ПродСтоимость
FROM
    $РегистрОбороты.ПартииТоваров(:ДокументыДатаС,
                                 :ДатаКон,
                                  Документ,
                                 ,
                                 Контрагент = :ВыбКонтрагент AND Статус = :ВыбСтатус,
                                 ,
                                 (ОстатокТовара,ПродСтоимость)) as Рег


Недопустимое имя столбца "IDdocDef"
1 Mikeware
 
19.03.21
12:08
ну что ты в самом деле
2 OnePrg
 
19.03.21
12:09
Разобрался.
Оказывается в виртуальной таблице оборотов есть поле ВидДокумента

SELECT
    RIGHT(Рег.ПозицияДокумента,9) [Док $Документ],
    Рег.ВидДокумента AS Док_вид,
    Рег.ОстатокТовараПриход         as ОстатокТовара,
    Рег.ПродСтоимостьПриход         as ПродСтоимость
FROM
    $РегистрОбороты.ПартииТоваров(:ДокументыДатаС,
                                 :ДатаКон,
                                  Документ,
                                 ,
                                 Контрагент = :ВыбКонтрагент AND Статус = :ВыбСтатус,
                                 ,
                                 (ОстатокТовара,ПродСтоимость)) as Рег
3 Mikeware
 
19.03.21
12:09
Поля:

<ИмяИзмерения> - имена измерений указанных к расчету; тип определяется типом измерения регистра;
<ИмяРесурса>Приход - имена ресурсов с добавлением слова Приход, указанных к расчету; тип определяется типом ресурса регистра; существует только для регистра остатков;
<ИмяРесурса>Расход - имена ресурсов с добавлением слова Расход, указанных к расчету; тип определяется типом ресурса регистра; существует только для регистра остатков;
<ИмяРесурса>Оборот - имена ресурсов с добавлением слова Оборот, указанных к расчету; тип определяется типом ресурса регистра; существует только для регистра оборотов;
Период - тип datetime; дата начала периода, по которому происходит разворот оборотов; существует только в том случае, если указана периодичность День, Неделя, Месяц, Квартал, Год;
ПозицияДокумента - тип char(23); строка в формате date_time_iddoc (8+6+9); существует только в том случае, если указана периодичность Документ;
ВидДокумента - тип int; идентификатор вида документа; существует только в том случае, если указана периодичность Документ.
4 OnePrg
 
19.03.21
14:16
Да, вот ещё какой вопрос.

Мы привыкли, что в 1С, когда получаем обороты в разрезе документов, то группировать не нужно.

А в вышеприведённом запросе выбираются записи регистра, т.е. по строкам документа.

Я конечно сгруппировал, но пока по горячим следам может кто подскажет как без группировки.
5 Sserj
 
19.03.21
14:32
(4) Предпоследний параметр виртуальной таблицы (у тебя не указан) задает группировку, если отсутствует то делается по всем изменениям.
6 OnePrg
 
19.03.21
14:36
(5) Я думал там измерения указываются, а документ не измерение. Попробую - спасибо.
7 OnePrg
 
19.03.21
14:37
(5) А что туда писать? Документ?
8 Mikeware
 
19.03.21
14:39
(5) предпоследний параметр - это список измерений. чтоб не делать лишние расчеты
9 Mikeware
 
19.03.21
14:40
(4) скажи это же самое, но по-русски...
10 Sserj
 
19.03.21
15:23
(8) Да имел ввиду что если там есть измерения то по ним и группируется.
Но с "Документ" конечно группировка будет Измерение+ТекущийДокумент.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший