Запись данных в регистр бухгалтерии (вручную и с помощью конструктора) и получение итоговой информации.
С помощью конструктора
Запись данных в регистр бухгалтерии осуществляется, когда происходит какая-либо хозяйственная операция. Она отражается строкой в регистре бухгалтерии и называется проводкой. Это можно сделать двумя способами: вручную и с помощью конструктора.
Для того чтобы провести проводку с помощью конструктора нужно сначала создать план счетов. Затем создать регистр бухгалтерии и связать его с этим планом счетов. Кроме тех полей, которые мы сами создадим в регистре бухгалтерии, создадутся дополнительные поля после связывания регистра с планом счетов. Считаем, что у нас есть документ, который требуется отразить в регистре бухгалтерии. В движении этого документа указываем, что он будет связан с нашим регистром бухгалтерии. Таким образом, в режиме 1С предприятия, если документ будет проведен, то у нас получится проводка или, другими словами, запись в регистре бухгалтерии.
Код, который будет сгенерирован конструктором:
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр Управленческий
Движение = Движения. Управленческий. Добавить(); // создается новая строка, а дальше заполняется каждая колонка этой строки. Данные мы берем из документа-регистратора.
Движение. СчетДт = ПланыСчетов. Основной. Товары;
Движение. СчетКт = ПланыСчетов. Основной. РасчетыСПоставшиками;
Движение. Период = Дата;
Движение. Сумма = ТекСтрокаМатериалы. Сумма;
Движение. Количество = ТекСтрокаМатериалы. Количество;
Движение. СубконтоДт[ПланыВидовХарактеристик. ВидыСубконто. Материалы] =
ТекСтрокаМатериалы. Материал; КонецЦикла;
Движения. ОстаткиМатериалов. Записать();
Движения. СтоимостьМатериалов. Записать();
Движения. Управленческий. Записать();
КонецПроцедуры
Т. е. здесь все колонки регистра бухгалтерии заполняются конструктором.
Вручную
А теперь создадим проводку вручную.
Для этого нужно создать документ-регистратор (документ, который связан с регистром бухгалтерии). Затем добавить в регистр новую запись и заполнить эту строку всеми
данными, которые там должны быть.
В примере регистр бухгалтерии имеет следующие поля для записи данных:
Измерения – Организация и Валюта;
Ресурсы – Сумма, ВалютнаяСумма и Количество;
Реквизиты – Содержание, НомерЖурнала.
Вот код, который нужно прописать вручную.
// Задать выбираемы значения.
ВыбранныйОтветственный = Справочники. Пользователи.
НайтиПоНаименованию(«Иванцова»);
ВыбранныйКонтрагент = Справочники. Контрагенты. НайтиПоКоду («00027»);
ВыбранныйДоговор = Справочники. ДоговорыКонтрагентов. НайтиПоКоду(«00013»);
ВыбранныйДокумент = Документы. ДокументРасчетовСКонтрагентом.
НайтиПоНомеру(2, ‘’);
ВыбранныйСчет = Справочники. БанковскиеСчета. НайтиПоКоду(«00001»);
ВыборанныйСтатья = Справочники. СтатьиДвиженияДенежныхСредств.
НайтиПоКоду(«00002»);
ВыбраннаяОрганизация = Справочники. Организации. НайтиПоКоду(«00001»);
ВыбраннаяВалюта = Справочники. Вылюты. НайтиПоКоду(810);
// Создать будущий регистратор
ДатаЗаписи = ТекущаяДата();
Документ = Документы. ОперацияБух. СоздатьДокумент();
Документ. Дата = ДатаЗаписи;
Документ. Организация = ВыбраннаяОрганизация;
Документ. Ответственный = ВыбранныйОтветственный;
Документ. Содержание = «Оплата поставщику»;
Документ. Записать();
// Создать набор записей
НаборЗаписей = РегистрыБухгалтерии. Хозрасчетный. СоздатьНаборЗаписей();
НаборЗаписей. Отбор. Регистратор. Установить(Документ. Ссылка);
Движение = НаборЗаписей. Добавить();
Движение. Регистратор = Документ. Ссылка;
Движение. Период = ДатаЗаписи;
// Заполнить счет дебета
Движение. СчетДт = ПланыСчетов. Хозрасчетный. НайтиПоКоду(«60.01»);
// заполнить аналитику счета дебета
Движение. СубконтоДт. Контрагенты = ВыбранныйКонтрагент;
Движение. СубконтоДт. Договоры = ВыбранныйДоговор;
Движение. СубконтоДт. ДокументыРасчетовСКонтрагентами = ВыбранныйДокумент;
// Заполнить счет кредита
Движение. СчетКт = ПланыСчетов. Хозрасчетный. НайтиПоКоду(«51»);
// Заполнить аналитику счета кредита
Движение. СубконтоКт. БанковскиеСчета = ВыбранныйСчет;
Движение. СубконтоКт. СтатьиДвиженияДенежныхСредства = ВыбраннаяСтатья;
//Балансовое измерения
Движение. Организация = ВыбраннаяОрганизация;
// Балансовый ресурс
Движение. Сумма = 30000;
// Реквизиты
Движение. НомерЖурнала = «БК»;
Движение. Содержание = «Оплата поставщику»;
// Записать набор записей
НаборЗаписей. Записать();
Создаем новую строку в регистре и заполняем все поля.
Т. е. мы создали документ, и все это отразилось в регистре бухгалтерии.
Получение итоговой информации
Как получить остаток по счету?
Получим остатки по счету Товары на складах в разрезе
организаций и товаров. Для этого будем использовать
запрос к виртуальной таблице остатков регистра бухгалтерии
Хозрасчетный:
Запрос = Новый Запрос;
Запрос. Текст = «
| ВЫБРАТЬ
| ХозрасчетныйОстатки. Субконто1,
| ХозрасчетныйОстатки. Организация,
| ХозрасчетныйОстатки. СуммаОстаток,
| ХозрасчетныйОстатки. КоличествоОстаток
| ИЗ
| РегистрБухгалтерии. Хозрасчетный. Остатки(&Период, Счет = &Счет,,)
| КАК ХозрасчетныйОстатки»;
Запрос. УстановитьПараметр(«Период», КонецДня(ДатаОтчета));
Запрос. УстановитьПараметр(«Счет», ПланыСчетов. Хозрасчетный. ТоварыНаСкладах);
РезультатЗапроса = Запрос. Выполнить();
Как получить валютные остатки по счетам?
Получить остатки по каждой валюте в разрезе счетов и организаций:
ВЫБРАТЬ
ОсновнойОстатки. Организация КАК Организация,
ОсновнойОстатки. Счет КАК Счет,
ОсновнойОстатки. Валюта КАК Валюта,
ОсновнойОстатки. ВалютнаяСуммаОстаток КАК Остаток
ИЗ
РегистрБухгалтерии. Основной. Остатки КАК ОсновнойОстатки
УПОРЯДОЧИТЬ ПО
ОсновнойОстатки. Счет. Код
ИТОГИ СУММА ПО
Организация,
Счет,
Валюта
Кроме того, остатки и обороты по счету можно получить аналогично данным из регистров накопления, посредством функций Остатки и Обороты регистра бухгалтерии.


