Работа с регистрами
Регистры - это таблицы для накопления оперативных данных и получения сводной информации. Данные в регистры добавляются только при проведении документов. Сведения из регистров используются для формирования отчетов.
Регистры, используемые в примерах:
| Оборотный регистр Доходы Измерения: Клиент, ТоварРесурсы: ДоходРеквизиты:нетПериодичность: День
| Регистр остатков Товары Измерения: Товар, СкладРесурсы: Количество, СтоимостьРеквизиты:нет
| Хранит доходы от продаж за день в разрезе клиентов и товаров.
| Хранит остатки товаров на каждом складе в количественном и суммовом выражении.
|
Запись движений в оборотный регистр (только при проведении документа)
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. Метод РассчитатьРегистрыПо (<ГраницаРасчета>,<ГрафаОтбора>) Рассчитать все регистры с установленным флагом временного расчета на конец события. (на конец даты или на момент после проведения документа)
|
Запрос к регистру В запросах к регистрам применяются функции НачОст, КонОст, Приход, Расход. В запросах к оборотным регистрам обязательно указывается Период.
ТекстЗапроса = " |Период С ДатаНач По ДатаКон; |Товар = Регистр.Доходы.Товар; |Клиент = Регистр.Доходы.Клиент; |Доход = Регистр.Доходы.Доход; |Условие (Товар = ТекТовар); |Группировка Клиент; |Функция ПриходПоКлиенту = Приход(Доход); |";
|
Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...
|
Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...
|
Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...
|
Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...
|
ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...
СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...
Понятие массовых мероприятий, их виды Под массовыми мероприятиями следует понимать совокупность действий или явлений социальной жизни с участием большого количества граждан...
|
Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...
Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...
Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...
|
|