Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Остатки



Виртуальная таблица. Позволяет получать остатки на произвольную дату в разрезе счета, измерений и субконто.

РегистрБухгалтерии.<Имя>. ДвиженияССубконто (<Начало периода>, <Конец периода>, <Условие>)  
Поле Тип
МоментВремени Момент времени
Период Дата
Регистратор Любая ссылка
НомерСтроки Число
Активность Булево
СчетДт ПланСчетовСсылка. Имя. СчетДт
СубконтоДт<№ > Значение субконто
ВидСубконто Дт<№ > ПланВидовХарактеристикСсылка. Имя
СчетКт ПланСчетовСсылка. Имя. СчетКт
СубконтоКт<№ > Значение субконто
ВидСубконтоКт<№ > ПланВидовХарактеристикСсылка. Имя
<Измерение> Тип измерения
<Измерение>Дт Тип измерения
<Измерение>Кт Тип измерения
<Ресурс> Число
<Ресурс>Дт Число
<Ресурс>Кт Число
<Реквизит> Тип реквизита
Выбрать* ИзРегистрБухгалтерии. Основной. Остатки  
       

3.34.10. Обороты

Виртуальная таблица. Позволяет получать обороты на произвольную дату в разрезе счета, корсчета, измерений и субконто и корсубконто.

Выбрать* ИзРегистрБухгалтерии. Основной. Обороты

3.34.11. Остатки и обороты

Виртуальная таблица. Позволяет получить обороты и остатки за произвольный период с заданной периодичностью, в разрезе счета, субсчета, измерений.

Выбрать * Из РегистрБухгалтерии. Основной. остаткиИОбороты

3.34.12. Обороты Дт Кт

Виртуальная таблица. Получает получить обороты между счетами за заданный период, с установленной периодичностью, в разрезе измерений, субконто дебета, субконто кредита.

3.34.13. Конструктор запросов, конструктор выходных форм

Умение вручную сформировать запрос пригодится всегда, но можно его сделать и с помощью конструктора (Конструктора выходных форм, конструктора запросов). Конструктор запросов можно открывать как в режиме конфигуратора, так и в пользовательском режиме. Если на поле текстового документа в отчете «Знакомство с запросом» сделать щелчок правой клавишей мыши, то в контекстном меню будет соответствующий пункт.

Знакомиться с конструктором будем на примере создания отчета «Закупки» (следует отметить, что знакомиться мы будем с конструктором выходных форм, а не с конструктором запросов, но различия между ними небольшие).

Выбрать * ИзРегистрБухгалтерии. Основной. ОборотыДтКт  
Выбрать * ИзРегистрБухгалтерии. Основной. остаткиИОбороты („Неделя)

Создадим отчет, дадим ему имя «Закупки» и сразу же перейдем на закладку «макеты». Используя кнопку «Конструкторы» вызовем нужный нам конструктор. В открывшейся сразу после этого форме можно определить имя выходной формы отчета.

Далее на закладке «таблицы и поля» необходимо выбрать поля запроса.

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

На закладке связи требуется определить вид и условие соединения двух таблиц:

В случае, если отмечен левый флажок «Все», то используется «Левое соединение», и первой таблицей является «таблица № 1», если только правое «Все», то также используется «Левое соединение», но первой

таблицей является «Таблица № 2». Если отмечены оба флажка, то это «Полное соединение», если оба сброшены — это «Внутреннее».

На следующей закладке в случае необходимости определяется группировка (по каким полям будет производиться группировка, какие агрегатные функции будут рассчитываться).

На любом этапе работы в конструкторе, используя кнопку «Запрос», можно посмотреть текст получающегося запроса.

Далее на закладке «условия» можно определять отборы, накладываемые на запрос. На закладке «дополнительно» указывать ряд дополнительных признаков (первые, различные, для изменения). На закладке «Объединения/Псевдонимы» настраивать объединения и указывать псевдонимы и т. д. В нашем случае будем далее настраивать только раздел «Итоги».

В результате конструктор создаст выходную форму, пропишет необходимые процедуры (как это делается указываем на последней закладке конструктора форм).

В результате работы конструктора в модуле формы появилась следующая процедура:

Процедура СформироватьНажатие (Элемент) ТабДок = Новый ТабличныйДокумент; ОтчетОбъект. Закупки (ТабДок); ТабДок. ТолькоПросмотр = Истина; ТабДок. ОтображатьСетку = Ложь; ТабДок. ОтображатьЗаголовки = Ложь; ТабДок. Показать (); КонецПроцедуры

В модуле отчета:

Процедура Закупки (ТабДок) Экспорт Макет = ПолучитьМакет (" Закупки"); Запрос = Новый Запрос; Запрос. Текст = "ВЫБРАТЬ | Приходная Товары. Номенклатура КАК Номенклатура, | ПриходнаяТовары. Номенклатура. Представление, | СУММА (ПриходнаяТовары. Количество) КАК Количество, СУММА (ПриходнаяТовары. Сумма) КАК Сумма, Приходная. Контрагент КАК Контрагент, Приходная. Контрагент. Представление |ИЗ | Документ-Приходная. Товары КАК ПриходнаяТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ. Приходная КАК Приходная | ПО Приходная Товары. Ссылка = Приходная. Ссылка |СГРУППИРОВАТЬ ПО ПриходнаяТовары. Номенклатура, Приходная. Контрагент ! |ИТОГИ ПО ОБЩИЕ"; Результат = Запрос. Выполнить (); ОбластьЗаголовок = Макет. ПолучитьОбласть (" Заголовок"); ОбластьПодвал = Макет. ПолучитьОбласть ("Подвал"); ОбластьШапкаТаблицы = Макет. ПолучитьОбласть ("ШапкаТаблицы"); ОбластьПодвалТаблицы=Макет. ПолучитьОбласть ("ПодвалТаблицы"); ОбластьОбщийИтог = Макет. ПолучитьОбласть ("ОбщиеИтоги");
ОбластьДетали = Макет. ПолучитьОбласть ("Детали"); ТабДок. Вывести (ОбластьЗаголовок); ТабДок. Вывести (ОбластьШапкаТаблииы); ВыборкаОбшийИтог = Результат. Выбрать (ОбходРезультатаЗапроса. ПоГруппировкам); ВыборкаОбшийИтог. Следуюший (); // Обший итог ОбластьОбщийИтог. Параметры. Заполнить (ВыборкаОбшийИтог); ТабДок. Вывести (ОбластьОбщийИтог); ВыборкаДетали = ВыборкаОбщийИтог. Выбрать (); Пока ВыборкаДетали. Следуюший () Цикл ОбластьДетали. Параметры. Заполнить (ВыборкаДетали); ТабДок. Вывести (ОбластьДетали); КонецЦикла; ТабДок. Вывести (ОбластьПодвалТаблицы); ТабДок. Вывести (ОбластьПодвал); КонецПроцедуры  

Практикум25 __________________________________________

1. Создайте с помощью конструктора отчет по продажам товаров. В нем после установки периода должна содержаться следующая информация: какой покупатель, какие товары, в каком количестве и на какую сумму закупал.

2. Модифицируйте созданный вами отчет. Необходимо добавить возможность выбора контрагента. В случае, если контрагент не выбран, отчет должен предоставлять информацию по всем контрагентам.

3. Создайте отчет, который позволяет смотреть продажи товаров. Но в нем помимо сумм продажи фигурирует себестоимость и прибыль. Себестоимость единицы товара берется из реквизита «ЦенаПокупки» справочника «Номенклатура»

3.34.14. Способы обхода результатов запроса, группировки в табличном документе

В предыдущем примере в основном использовался линейный способ обхода результата (метод «Выбрать ()» вызывался без явного указания способа обхода). Кроме линейного существует еще иерархический обход и обход результата по группам. Для явного указания способа обхода первым параметром метода «Выбрать» необходимо указать значение системного перечисления «ОбходРезультатаЗапроса».

Определены возможные значения:

• Прямой

• ПоГруппировкам

• ПоГруппировкамСИерархией

Разбираться с порядком обхода будем на примере отчета «ПорядокОбхода»

У отчета необходимо определить два реквизита: НачПериода — тип «Дата» КонПериода — тип «Дата»

В диалоге предлагается (с использованием элемента формы «Панель») определить две страницы. На первой находятся элементы формы, связанные с реквизитами отчета, табличное поле (имя «тПоле», тип «ТаблицаЗначений»), поле выбора (имя «ОбходРезультата», тип «Произвольный»). На второй странице находится поле табличного документа (имя «тблРезультат»).

Текст модуля формы:

Процедура ВыполнитьНажатие (Элемент) ТабДок = ЭлементыФормы. тбл Результат; ТабДок. Очистить (); ВыполнитьОтчет (ТабДок, ЭлементыФормы. ТПоле, ОбходРезультата); ТабДок. ТолькоПросмотр = Истина; ТабДок. Показать (); КонецПроцедуры Процедура ВыбПериодНажатие (Элемент) НастройкаПериода = Новый НастройкаПериода; НастройкаПериода. УстановитьПериод (НачПериода, КонецДня (КонПериода)); НастройкаПериода. РедактироватьКакИнтервал = Истина; НастройкаПериода. РедактироватьКакПериод = Истина; НастройкаПериода. ВариантНастройки = ВариантНастройкиПериода. Период; НастройкаПериода. Редактировать (); НачПериода = НастройкаПериода. ПолучитьДатуНачала (); КонПериода = НастройкаПериода. ПолучитьДатуОкончания (); КонецПроцедуры ЭлементыФормы. ОбходРезультата. СписокВыбора. Добавить (ОбходРезультатаЗапроса. ПрямоЙ, "Прямой"); ЭлементыФормы. ОбходРезультата. СписокВыбора. Добавить (ОбходРезультатаЗапроса. ПоГруппировкам, "По группировкам"); ЭлементыФормы. ОбходРезультата. СписокВыбора. Добавить (ОбходРезультатаЗапроса. ПоГруппировкамСИерархией, "По иерархии");  
Текст модуля отчета:  
ПроцедураВыдатьРекурсивно (ВыборкаДетальная, Знач Номер, ТабДок, Секция, ОбходРезультата) Номер=Номер+1; Пока ВыборкаДетальная. Следующий () Цикл Секция. Параметры. Наименование = ВыборкаДетальная. НаименованиеНоменклатуры; Секция. Параметры. Колво = ВыборкаДетальная. Количество; Секция. Параметры. Сумма = ВыборкаДетальная. Сумма; Секция. Параметры. ТипЗаписи = ВыборкаДетальная. ТипЗаписи (); Секция. Параметры, Уровень = ВыборкаДетальная. Уровень (); Секция. Параметры. Номер = Номер; ТабДок. Вывести (Секция, ВыборкаДетальная. Уровень ()); ВыборкаДетальная2 = ВыборкаДетальная. Выбрать (ОбходРезультата); ВыдатьРекурсивно (ВыборкаДетальная2, Номер, ТабДок, Секция, ОбходРезультата); КонецЦикла; КонецПроцедуры Процедура ВыполнитьОтчет (ТабДок, ТП, ОбходРезультата) Экспорт Перем ОбщиеИтогиСумма;
     

Создайте данный отчет, выбирая различные порядки обхода, смотрите получаемый результат.





Дата публикования: 2014-11-04; Прочитано: 248 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...