|
Регистры накопления
|
/// Как прочитать записи регистра накопления оборотов
/// в 1с 8.3, 8.2 с возможностью отбора и упорядочивания
Процедура КакПрочитатьЗаписиРегистраНакопленияОборотов()
ОрганизацияПоУмолчанию =
БухгалтерскийУчетПереопределяемый.
ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияУслуг.Период,
| РеализацияУслуг.Регистратор,
| РеализацияУслуг.НомерСтроки,
| РеализацияУслуг.Активность,
| РеализацияУслуг.Организация,
| РеализацияУслуг.СчетРасходов,
| РеализацияУслуг.НоменклатурнаяГруппа,
| РеализацияУслуг.Подразделение,
| РеализацияУслуг.Сумма
|ИЗ
| РегистрНакопления.РеализацияУслуг КАК РеализацияУслуг
|ГДЕ
| РеализацияУслуг.Организация = &ВыбОрганизация
|УПОРЯДОЧИТЬ ПО
| РеализацияУслуг.Сумма УБЫВ";
Запрос.УстановитьПараметр("ВыбОрганизация", ОрганизацияПоУмолчанию);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(
Строка(ВыборкаДетальныеЗаписи.Период) + " " +
ВыборкаДетальныеЗаписи.Сумма
);
КонецЦикла;
КонецПроцедуры
/// Как получить обороты регистра накопления оборотов за период
/// в 1с 8.3, 8.2
Процедура КакПолучитьОборотыРегистраНакопленияОборотовЗаПериод()
ОрганизацияПоУмолчанию =
БухгалтерскийУчетПереопределяемый.
ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияУслугОбороты.Организация,
| РеализацияУслугОбороты.СчетРасходов,
| РеализацияУслугОбороты.НоменклатурнаяГруппа,
| РеализацияУслугОбороты.Подразделение,
| РеализацияУслугОбороты.СуммаОборот
|ИЗ
| РегистрНакопления.РеализацияУслуг.Обороты(
| &НачалоПериода, &КонецПериода
| ) КАК РеализацияУслугОбороты
|ГДЕ
| РеализацияУслуг.Организация = &ВыбОрганизация";
Запрос.УстановитьПараметр("ВыбОрганизация", ОрганизацияПоУмолчанию);
Запрос.УстановитьПараметр("НачалоПериода", '20130101');
Запрос.УстановитьПараметр("КонецПериода", '20131231');
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.СуммаОборот);
КонецЦикла;
КонецПроцедуры
/// Как прочитать записи регистра накопления остатков
/// в 1с 8.3, 8.2 с возможностью отбора и упорядочивания
Процедура КакПрочитатьЗаписиРегистраНакопленияОстатков()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаКВыплате.Период,
| ЗарплатаКВыплате.Регистратор,
| ЗарплатаКВыплате.НомерСтроки,
| ЗарплатаКВыплате.Активность,
| ЗарплатаКВыплате.ВидДвижения,
| ЗарплатаКВыплате.Организация,
| ЗарплатаКВыплате.ФизическоеЛицо,
| ЗарплатаКВыплате.СтатьяФинансирования,
| ЗарплатаКВыплате.СтатьяРасходов,
| ЗарплатаКВыплате.Сотрудник,
| ЗарплатаКВыплате.Подразделение,
| ЗарплатаКВыплате.ПериодВзаиморасчетов,
| ЗарплатаКВыплате.ХарактерВыплаты,
| ЗарплатаКВыплате.СуммаКВыплате
|ИЗ
| РегистрНакопления.ЗарплатаКВыплате КАК ЗарплатаКВыплате";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(
Строка(ВыборкаДетальныеЗаписи.Период ) + " " +
ВыборкаДетальныеЗаписи.Сотрудник + " " +
ВыборкаДетальныеЗаписи.ВидДвижения + " " +
ВыборкаДетальныеЗаписи.СуммаКВыплате
);
КонецЦикла;
КонецПроцедуры
/// Как получить остатки регистра накопления остатков на дату
/// в 1С 8.3, 8.2
Процедура КакПолучитьОстаткиРегистраНакопленияОстатковНаДату()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗарплатаКВыплатеОстатки.Организация,
| ЗарплатаКВыплатеОстатки.ФизическоеЛицо,
| ЗарплатаКВыплатеОстатки.СтатьяФинансирования,
| ЗарплатаКВыплатеОстатки.СтатьяРасходов,
| ЗарплатаКВыплатеОстатки.Сотрудник,
| ЗарплатаКВыплатеОстатки.Подразделение,
| ЗарплатаКВыплатеОстатки.ПериодВзаиморасчетов,
| ЗарплатаКВыплатеОстатки.ХарактерВыплаты,
| ЗарплатаКВыплатеОстатки.СуммаКВыплатеОстаток
|ИЗ
| РегистрНакопления.ЗарплатаКВыплате.Остатки(
| &ПараметрПериод) КАК ЗарплатаКВыплатеОстатки";
Запрос.УстановитьПараметр("ПараметрПериод", ТекущаяДата());
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(
Строка(ВыборкаДетальныеЗаписи.ПериодВзаиморасчетов)
+ " " + ВыборкаДетальныеЗаписи.Сотрудник + " " +
ВыборкаДетальныеЗаписи.СуммаКВыплатеОстаток + " "
);
КонецЦикла;
КонецПроцедуры
/// Как изменять записи регистра накопления в 1с 8.3, 8.2
Процедура МодификацияЗаписейРегистраНакопления()
ВыбДок = Документы.ПоступлениеТоваровУслуг.Выбрать();
Если ВыбДок.Следующий() Тогда
Набор = РегистрыНакопления.НДСПредъявленный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ВыбДок.Ссылка);
Набор.Прочитать();
Для Каждого Движение Из Набор Цикл
Движение.НДС = 0;
КонецЦикла;
Движение = Набор.ДобавитьРасход();
Движение.НДС = 100;
Движение.Период = ТекущаяДата();
Движение = Набор.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.НДС = 300;
Движение.Период = ТекущаяДата();
Набор.Удалить(0);
Набор.Записать(Истина);
КонецЕсли;
КонецПроцедуры
|
|
|