Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Прямой запрос: параметры ВТ (число прочтений - 3087 )
Valeron
YaBB Newbies
*
Отсутствует



Сообщений: 1
Зарегистрирован: 29. Ноября 2007
Прямой запрос: параметры ВТ
29. Ноября 2007 :: 10:07
Печать  
     ТекстЗапроса = "
     |SELECT      
     |  Рег.ДокументВПИ as [ДокументВПИ   $Документ.ВедомостьПотребностиВИзделияхПроизводство],
     |  Рег.ТМЦ as [ТМЦ $Справочник.ТМЦСклад],
     |  Рег.Объект as [Объект $Справочник.ВидыНоменклатуры],
     |  Рег.КоличествоПотребностьОборот as КоличествоПотребность,
     |  Рег.КоличествоКомплектацияОборот as КоличествоКомплектация,
     |  Рег.КоличествоСборкаОборот as КоличествоСборка,
     |  Рег.КоличествоИзготовленоОборот as КоличествоИзготовлено,
     |  Рег.КоличествоСписаноНаОбъектОборот as КоличествоСписаноНаОбъект,
     |  Рег.КоличествоОтправленоНаОбъектОборот as КоличествоОтправленоНаОбъект
     |FROM
     |$РегистрОбороты.ДвижениеВПИ(:НачДата, :КонДата~,,,, , ) as Рег";
                                                        
     ДокВПИ=СоздатьОбъект("Документ");

     Запрос.УстановитьТекстовыйПараметр("НачДата", НачДата);
     Запрос.УстановитьТекстовыйПараметр("КонДата", КонДата);
     
     тз = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
     тз.ВыбратьСтроки();
     Пока тз.ПолучитьСтроку() = 1 Цикл
           н=1;
     КонецЦикла;

Есть запрос: написан выше. Всё работает. Возвращает ВТ с оборотами по регистру.
А как наложить условие: ко списку Документов, по списку ТМЦ (или хотя бы по одному конкретному)??((
И где можно прочитать про параметры таблицы (ВТ) "ДвижениеВПИ(:НачДата, :КонДата~,,,, , )". т.е. какие параметры могут стоят между запятыми ?(
спасибо
  
Наверх
 
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: Прямой запрос: параметры ВТ
Ответ #1 - 29. Ноября 2007 :: 10:26
Печать  
$РегистрОстаткиОбороты.<?>(<?>, <?>, <?>,
       <?>,
       <?>,
       <?>,
       <?>,
       <?>
)
Виртуальная таблица остатков и оборотов
Синтаксис:
$РегистрОстаткиОбороты.<ИмяРегистра>([<НачалоПериода>][, <КонецПериода>][, <Периодичность>][,<МетодДополнения>][,<Соединение>][,<Условие>]
[,<Измерение>][,<Ресурс>]) [as <Алиас>]

Используется для получения остатков и оборотов. Определена только для регистра
остатков.

Параметры:
<НачалоПериода>
Тип: значение.
Строка, представляющая период или момент времени во внутреннем формате 1С.
По умолчанию начало ведения учета.

<КонецПериода>
Тип: значение.
Строка, представляющая период или момент времени во внутреннем формате 1С.
Если передан период времени (дата, позиция документа), он в расчет не включается.
Для того чтобы он включался в расчет нужно воспользоваться модификатором, или
предварительно сформировать момент времени (См.
СформироватьПозициюДокумента()).
По умолчанию точка актуальности.

<Периодичность>
Тип: конструкция типа ключевое слово.
Указывается дополнительный разворот итогов по периодичности. Задается один из
следующих вариантов:
Период (Period) - только за период (не разворачивать);
Документ (Document) - разворачивать по документу;
День (Day) - разворачивать по дням;
Неделя (Week) - разворачивать по неделям;
Месяц (Month) - разворачивать по месяцам;
Квартал (Quarter) - разворачивать по кварталам;
Год (Year) - разворачивать по годам.
По умолчанию Период.

<МетодДополнения>
Тип: конструкция типа ключевое слово.
Имеет смысл только когда используется разворот по периодам.
Задается один из следующих вариантов:
Движения (Actions) - в таблицу включаются обороты по каждому периоду движений,
и текущие остатки, только по тем комбинациям измерений, по которым были
движения в период расчета;
ДвиженияИГраницыПериода (ActionsAndPeriodBoundaries) - в таблицу включаются
обороты по каждому периоду движений, и текущие остатки; а также таблица
дополняется записями о ненулевых остатках на начало и/или конец на границы
периода расчета.

<Соединение>
Тип: конструкция типа join. На языке SQL можно описать дополнительные
соединения с таблицами, которые могут быть необходимы для формирования
условий в следующем параметре. Можно оперировать полями измерений регистра,
обращаясь к ним по идентификатору 1С.
По умолчанию отсутствует.

<Условие>
Тип: конструкция типа where. На языке SQL можно описать условие для ограничения
выборки. Можно оперировать полями измерений регистра, обращаясь к ним по
идентификатору 1С, а также полями таблиц, соединения с которыми были описаны
в предыдущем параметре.
По умолчанию отсутствует.

<Измерение>
Тип: конструкция типа список идентификаторов. Указывается список измерений по
которым нужно рассчитать остатки и обороты.
По умолчанию по всем.

<Ресурс>
Тип: конструкция типа список идентификаторов. Указывается список ресурсов
которые нужно рассчитать.
По умолчанию по всем.

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

Оптимизация расчета:
+ по таблицам итогов и движений рассчитывается всегда только один из остатков,
другой вычисляется из оборотов при агрегировании;
+ рассчитывается тот остаток (начальный конечный), который получить легче,
исходя из оптимизации расчета остатков См. выше описание виртуальной таблицы
остатков;

это раз

и вообще в  твоем случае


$РегистрОбороты.ДвижениеВПИ(:НачДата, :КонДата~,,, ТМЦ = :ВыбТМЦ , , )


     RS.УстановитьТекстовыйПараметр("ВыбТМЦ ", ВыбТМЦ );
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать