Студопедия — Работа с регистрами
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Работа с регистрами






Регистры - это таблицы для накопления оперативных данных и получения сводной информации. Данные в регистры добавляются только при проведении документов. Сведения из регистров используются для формирования отчетов.

Регистры, используемые в примерах:
Оборотный регистр Доходы Измерения: Клиент, ТоварРесурсы: ДоходРеквизиты:нетПериодичность: День Регистр остатков Товары Измерения: Товар, СкладРесурсы: Количество, СтоимостьРеквизиты:нет
Хранит доходы от продаж за день в разрезе клиентов и товаров. Хранит остатки товаров на каждом складе в количественном и суммовом выражении.

 


Запись движений в оборотный регистр
(только при проведении документа)

1. Метод ДвижениеПриход Синтаксис: ДвижениеПриход(<Измерение1>,<Измерение2>...,<Ресурс1>,<Ресурc2>...) Пример: Регистр.Доходы.ДвижениеПриход(Покупатель,КупленныйТовар,СуммаПокупки) 2. Метод ДвижениеПриходВыполнитьПример: Регистр.Доходы.Клиент = Покупатель; Регистр.Доходы.Товар = КупленныйТовар; Регистр.Доходы.Доход = СуммаПокупки; Регистр.Доходы.ДвижениеПриходВыполнить();

 


Запись движений в регистр остатков
(только при проведении документа)

1. Метод Движение Синтаксис: Движение(<Измерение1>,<Измерение2>...,<Ресурс1>,<Ресурc2>...) Пример: Регистр.Товары.Движение (ПоступившийТовар, ТекСклад, КолвоПоНакладной, СуммаПоНакладной) 2. Метод ДвижениеВыполнить Пример: Регистр.Товары.Товар = ПоступившийТовар; Регистр.Товары.Склад = ТекСклад; Регистр.Товары.Количество = КолвоПоНакладной; Регистр.Товары.Стоимость = СуммаПоНакладной; Регистр.Товары.ДвижениеВыполнить(); Примечание: Если сумма или количество в движении будет отрицательным, то это движение будет расходом, иначе приходом.

 


Обращение к итогам регистра

1-й способ. РегТовары = СоздатьОбъект("Регистр.Товары"); РегТовары.ВыбратьИтоги(); Пока РегТовары.ПолучитьИтог()=1 Цикл......Сообщить("Товар " + Строка(РегТовары.Товар) +...................... " на складе " + Строка(РегТовары.Склад) +...................... " кол-во: " + Строка(РегТовары.Количество) +...................... " стоимость: " + Строка(РегТовары.Стоимость) + КонецЦикла; 2-й способ. Выгрузка итогов в таблицу значений РегДоходы = СоздатьОбъект("Регистр.Доходы"); ТабЗнач = СоздатьОбъект("ТаблицаЗначений"); РегДоходы.ВыгрузитьИтоги(ТабЗнач); ТабЗнач.ВыбратьСтроки(); Пока ТабЗнач.ПолучитьСтроку()=1 Цикл......Сообщить("Товар " + Строка(ТабЗнач.Товар) +...................... " на складе " + Строка(ТабЗнач.Склад) +...................... " кол-во: " + Строка(ТабЗнач.Количество) +...................... " стоимость: " + Строка(ТабЗнач.Стоимость) + КонецЦикла;

 


Обращение к итогам оборотного регистра

РегДоходы = СоздатьОбъект("Регистр.Доходы"); //установить период выборки "30 ноября 2001 года" РегДоходы.ИспользоватьПериод(2001,11,30); 1. Метод ИтогСинтаксис: Итог(<Измерен1>,<Измерен2>...,<ИмяРесурса>) Пример: //получить доход за день по данному клиенту и данному товару Доход = РегДоходы.Итог(ТекКлиент, ТекТовар, "Доход"); 2. Метод Итоги Пример: //получить доход за день по данному клиенту и данному товару РегДоходы.Итоги(ТекКлиент, ТекТовар); Доход = РегДоходы.Доход; 3. Метод СводныйИтог Синтаксис: СводныйИтог(<Измерен1>,<Измерен2>...,<ИмяРесурса>) Могут быть указаны не все измерения. Фиксируются только указанные измерения. Пример: //получить сводные итоги за день ДоходПоКлиенту = РегДоходы.СводныйИтог(ТекКлиент,,"Доход"); ДоходПоТовару = РегДоходы.СводныйИтог(,ТекТовар,"Доход"); 4. Метод СводныеИтоги Синтаксис: СводныеИтоги(<Измерение1>,<Измерение2>...) Могут быть указаны не все измерения. Фиксируются только указанные измерения. Пример: //получить сводные итоги за день по клиенту РегДоходы.СводныеИтоги(ТекКлиент,); //указано только одно измерение ДоходПоКлиенту = РегДоходы.Доход; //получить сводные итоги за день по товару РегДоходы.СводныеИтоги(,ТекТовар); //указано только одно измерение ДоходПоТовару = РегДоходы.Доход;  

 


Обращение к итогам регистра остатков

РегТовары = СоздатьОбъект("Регистр.Товары"); 1. Метод ОстатокСинтаксис: Остаток(<Измерен1>,<Измерен2>...,<ИмяРесурса> Пример: //получить остаток данного товара на данном складе Колво = РегТовары.Остаток (ТекТовар, ТекСклад, "Количество"); //получить стоимость данного товара на данном складе Стоимость = РегТовары.Остаток (ТекТовар, ТекСклад, "Стоимость"); 2. Метод Остатки Синтаксис: Остатки(<Измерение1>,<Измерение2>...) Пример: //получить остаток данного товара на данном складе по кол-ву и по сумме РегТовары.Остатки (ТекТовар, ТекСклад); Колво = РегТовары.Количество; Стоимость = РегТовары.Стоимость; 3. Метод СводныйОстаток Синтаксис: СводныйОстаток(<Измерен1>,<Измерен2>...,<ИмяРесурса>) Могут быть указаны не все измерения. Фиксируются только указанные измерения. Пример: //получить остаток данного товара на всех складах КолвоТовара = РегТовары.СводныйОстаток (ТекТовар,,"Количество"); СтоимостьТовара = РегТовары.СводныйОстаток (ТекТовар,,"Стоимость"); //получить стоимость всех товаров на данном складе СтоимостьПоСкладу = РегТовары.СводныйОстаток (,ТекСклад,"Стоимость"); 4. Метод СводныеОстатки Пример: //получить сводные остатки по товару РегТовары.СводныеОстатки(ТекТовар,); //указано только одно измерение КолвоТовара = РегТовары.Количество; СтоимостьТовара = РегТовары.Стоимость; //получить стоимость всех товаров на данном складе РегТовары.СводныеИтоги(,ТекСклад); //указано только одно измерение СтоимостьПоСкладу = РегТовары.Стоимость;  

 


Обращение к движениям регистра

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

 


Фильтрация движений и итогов

РегТовары = СоздатьОбъект("Регистр.Товары"); 1. Метод УстановитьФильтр Синтаксис: УстановитьФильтр(<Измерение1>,<Измерение2>...,<Рекв1>,<Рекв2>) Пример: //выбрать все движения по данному складу за период РегТовары.УстановитьФильтр(,ТекСклад); РегТовары.ВыбратьДвижения(ДатаНач, ДатаКон); Пока РегТовары.ПолучитьДвижение()=1 Цикл... КонецЦикла; //выбрать все товары на данном складе РегТовары.УстановитьФильтр(,ТекСклад); РегТовары.ВыбратьИтоги(); Пока РегТовары.ПолучитьИтог()=1 Цикл... КонецЦикла; 2. Метод УстановитьЗначениеФильтраСинтаксис: УстановитьЗначениеФильтра(<Идентиф>,<Значен>,<Вариант>) Пример: //выбрать все движения по данному складу за период РегТовары.УстановитьЗначениеФильтра("Склад", ТекСклад); //далее идет выборка движений или итогов... 3. Метод ВыбратьДвиженияДокумента (<Документ>) 4. Метод ВыбратьДвиженияСОстатками(<ДатаКонца>,<ГрафаОтбора>) Применяется только для регистра остатков.

 


Временный расчет регистров

Временный расчет регистров требуется, если нужно выбрать итоги или движения на определенную дату. По умолчанию итоги регистров выдаются на Точку актуальности. РегТовары = СоздатьОбъект("Регистр.Товары"); РегДоходы = СоздатьОбъект("Регистр.Доходы"); //установка флага временного расчета для регистров РегТовары.ВременныйРасчет(1); РегДоходы.ВременныйРасчет(1); 1. Метод РассчитатьРегистрыНа(<ГраницаРасчета>,<ГрафаОтбора>) Рассчитать все регистры с установленным флагом временного расчета на начало события. (на начало даты или на момент до проведения документа) 2. Метод РассчитатьРегистрыПо (<ГраницаРасчета>,<ГрафаОтбора>) Рассчитать все регистры с установленным флагом временного расчета на конец события. (на конец даты или на момент после проведения документа)

 


Запрос к регистру
В запросах к регистрам применяются функции НачОст, КонОст, Приход, Расход. В запросах к оборотным регистрам обязательно указывается Период.

ТекстЗапроса = " |Период С ДатаНач По ДатаКон; |Товар = Регистр.Доходы.Товар; |Клиент = Регистр.Доходы.Клиент; |Доход = Регистр.Доходы.Доход; |Условие (Товар = ТекТовар); |Группировка Клиент; |Функция ПриходПоКлиенту = Приход(Доход); |";

 


 

 







Дата добавления: 2015-09-04; просмотров: 384. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия