Работа с регистрами
Регистры - это таблицы для накопления оперативных данных и получения сводной информации. Данные в регистры добавляются только при проведении документов. Сведения из регистров используются для формирования отчетов.
Регистры, используемые в примерах:
| Оборотный регистр Доходы Измерения: Клиент, ТоварРесурсы: ДоходРеквизиты:нетПериодичность: День
| Регистр остатков Товары Измерения: Товар, СкладРесурсы: Количество, СтоимостьРеквизиты:нет
| Хранит доходы от продаж за день в разрезе клиентов и товаров.
| Хранит остатки товаров на каждом складе в количественном и суммовом выражении.
|
Запись движений в оборотный регистр (только при проведении документа)
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. Метод РассчитатьРегистрыПо (<ГраницаРасчета>,<ГрафаОтбора>) Рассчитать все регистры с установленным флагом временного расчета на конец события. (на конец даты или на момент после проведения документа)
|
Запрос к регистру В запросах к регистрам применяются функции НачОст, КонОст, Приход, Расход. В запросах к оборотным регистрам обязательно указывается Период.
ТекстЗапроса = " |Период С ДатаНач По ДатаКон; |Товар = Регистр.Доходы.Товар; |Клиент = Регистр.Доходы.Клиент; |Доход = Регистр.Доходы.Доход; |Условие (Товар = ТекТовар); |Группировка Клиент; |Функция ПриходПоКлиенту = Приход(Доход); |";
|
Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...
|
Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...
|
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...
|
|
Приложение Г: Особенности заполнение справки формы ву-45
После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...
Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси
Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...
Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей:
- трещину в корпусе автосцепки, излом деталей механизма...
|
|
Роль органов чувств в ориентировке слепых Процесс ориентации протекает на основе совместной, интегративной деятельности сохранных анализаторов, каждый из которых при определенных объективных условиях может выступать как ведущий...
Лечебно-охранительный режим, его элементы и значение.
Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...
Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем
1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...
|
|