|
Хозрасчетный регистр (регистр бухгалтерии)
|
/// Как получить остатки по счету бухгалтерии в 1с 8.3, 8.2
/// на определенную дату, с отбором по организации и субконто
Процедура КакПолучитьОстаткиПоСчету()
// Получим дебетовые остатки по 41 счету номенклатуры
Организация = БухгалтерскийУчетПереопределяемый.
ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");
Склад = БухгалтерскийУчетПереопределяемый.
ПолучитьЗначениеПоУмолчанию("ОсновнойСклад");
На41ВедетсяУчетПоСкладам = ПланыСчетов.Хозрасчетный.
ТоварыНаСкладах.ВидыСубконто.Найти(ПланыВидовХарактеристик.
ВидыСубконтоХозрасчетные.Склады) <> Неопределено;
ВидыСубконто = Новый Массив;
ВидыСубконто.Добавить(
ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
Если На41ВедетсяУчетПоСкладам Тогда
ВидыСубконто.Добавить(
ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.КоличествоОстатокДт
|ИЗ";
Если На41ВедетсяУчетПоСкладам Тогда
Запрос.Текст = Запрос.Текст +
"
| РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Дата, Счет = &Счет, &ВидыСубконто,
| Организация = &Организация И Субконто1 = &Номенклатура И
| Субконто2 = &Склад) КАК ХозрасчетныйОстатки"
Иначе
Запрос.Текст = Запрос.Текст +
"
| РегистрБухгалтерии.Хозрасчетный.Остатки(
| &Дата, Счет = &Счет, &ВидыСубконто,
| Организация = &Организация И Субконто1 = &Номенклатура
| ) КАК ХозрасчетныйОстатки";
КонецЕсли;
Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах);
Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);
Запрос.УстановитьПараметр("Организация", Организация);
Если На41ВедетсяУчетПоСкладам Тогда
Запрос.УстановитьПараметр("Склад", Склад);
КонецЕсли;
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
ВыборкаНоменклатуры = Справочники.Номенклатура.Выбрать();
ВыборкаНоменклатуры.Следующий();
Запрос.УстановитьПараметр("Номенклатура", ВыборкаНоменклатуры.Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаЗапроса = РезультатЗапроса.Выбрать();
Если ВыборкаЗапроса.Следующий() Тогда
Сообщить("Остаток <" + ВыборкаНоменклатуры.Ссылка +
"> - " + ВыборкаЗапроса.КоличествоОстатокДт);
Иначе
Сообщить("Остаток <" + ВыборкаНоменклатуры.Ссылка + "> - 0");
КонецЕсли;
КонецПроцедуры
/// Как сделать отбор бухгалтерских проводок по
/// регистратору (документу) в 1с 8.3, 8.2
Процедура КакСделатьОтборПроводокПоДокументу()
// Получим все проводки любого проведенного документа
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.СчетКт,
| ХозрасчетныйДвиженияССубконто.Сумма
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| ,,Регистратор = &Регистратор) КАК
| ХозрасчетныйДвиженияССубконто";
Запрос.УстановитьПараметр("Регистратор", СсылкаНаПроведенныйДокумент);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(
Строка(ВыборкаДетальныеЗаписи.СчетДт) + " " +
Строка(ВыборкаДетальныеЗаписи.СчетКт) + " " +
Строка(ВыборкаДетальныеЗаписи.Сумма));
КонецЦикла;
КонецПроцедуры
/// Как получить обороты по бухгалтерскому счету за период
/// в 1с 8.3, 8.2
Процедура КакПолучитьОборотыПоСчету()
// Получим дебетовые обороты по всем счетам входящих в иерархию 60 счета
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.СуммаОборотДт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(
| ДАТАВРЕМЯ(2013, 01, 01), ДАТАВРЕМЯ(2013, 12, 31),,
| Счет В ИЕРАРХИИ (
| ЗНАЧЕНИЕ(
| ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками
| )
| )
| )
| КАК ХозрасчетныйОстатки";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаЗапроса = РезультатЗапроса.Выбрать();
Если ВыборкаЗапроса.Следующий() Тогда
Сообщить(ВыборкаЗапроса.СуммаОборотДт);
КонецЕсли;
КонецПроцедуры
/// Как изменять и добавлять бухгалтерские проводки в 1с 8.3, 8.2
Процедура КакИзменятьИДобавлятьПроводки()
ВыбДок = Документы.ПриходныйКассовыйОрдер.Выбрать();
Если ВыбДок.Следующий() Тогда
Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ВыбДок.Ссылка);
Набор.Прочитать();
// изменение существующих записей
Для Каждого Движение Из Набор Цикл
Движение.Сумма = 100;
КонецЦикла;
// добавление новых записей
Движение = Набор.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.Касса;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.Выручка;
Движение.Период = ТекущаяДата();
Движение.Сумма = 10;
// добавление новых записей
Движение = Набор.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.Касса;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.Выручка;
Движение.Период = ТекущаяДата();
Движение.Сумма = 1000;
// удаление существующих записей
Набор.Удалить(0);
Набор.Записать(Истина);
КонецЕсли;
КонецПроцедуры |
|