Запись в регистры бухгалтерии (подготовила Семина А., гр.971э)

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