Бухгалтерский учетКак в регистре бухгалтерии сформировать проводки?// Задать выбираемые значения. ВыбранныйОтветственный = Справочники.Пользователи.НайтиПоНаименованию("Иванцова"); ВыбранныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду("00027"); ВыбранныйДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("00013"); ВыбранныйДокумент = Документы.ДокументРасчетовСКонтрагентом.НайтиПоНомеру(2, '20050101'); ВыбранныйСчет = Справочники.БанковскиеСчета.НайтиПоКоду("00001"); ВыбраннаяСтатья = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("00002"); ВыбраннаяОрганизация = Справочники.Организации.НайтиПоКоду("00001"); ВыбраннаяВалюта = Справочники.Валюты.НайтиПоКоду(810); // Создать будущий регистратор. ДатаЗаписи = ТекущаяДата(); Документ = Документы.ОперацияБух.СоздатьДокумент(); Документ.Дата = ДатаЗаписи; Документ.Организация = ВыбраннаяОрганизация; Документ.Ответственный = ВыбранныйОтветственный; Документ.Содержание = "Оплата поставщику"; Документ.Записать(); // Создать набор записей. НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Документ.Ссылка); Движение = НаборЗаписей.Добавить(); Движение.Регистратор = Документ.Ссылка; Движение.Период = ДатаЗаписи; // Заполнить счет дебета. Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.01"); // Заполнить аналитику счета дебета. Движение.СубконтоДт.Контрагенты = ВыбранныйКонтрагент; Движение.СубконтоДт.Договоры = ВыбранныйДоговор; Движение.СубконтоДт.ДокументыРасчетовСКонтрагентами = ВыбранныйДокумент; // Заполнить счет кредита. Движение.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("51"); // Заполнить аналитику счета кредита. Движение.СубконтоКт.БанковскиеСчета = ВыбранныйСчет; Движение.СубконтоКт.СтатьиДвиженияДенежныхСредств = ВыбраннаяСтатья; // Балансовое измерение. Движение.Организация = ВыбраннаяОрганизация; // Балансовый ресурс. Движение.Сумма = 300000; // Реквизиты.Движение.НомерЖурнала = "БК"; Движение.Содержание = "Оплата поставщику"; // Записать набор записей. НаборЗаписей.Записать(); Как получить остаток по счету?Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1, | ХозрасчетныйОстатки.Организация, | ХозрасчетныйОстатки.СуммаОстаток, | ХозрасчетныйОстатки.КоличествоОстаток |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ериод, Счет = &Счет, , ) КАК ХозрасчетныйОстатки"; Запрос.УстановитьПараметр("Период", КонецДня(ДатаОтчета)); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); РезультатЗапроса = Запрос.Выполнить(); Как получить обороты по счету?Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.СуммаОборотДт, | ХозрасчетныйОбороты.СуммаОборотКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Период, Счет = &Счет, , , , ) КАК ХозрасчетныйОбороты"; Запрос.УстановитьПараметр("НачПериода", НачПериода); Запрос.УстановитьПараметр("КонПериода", КонПериода); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); РезультатЗапроса = Запрос.Выполнить(); Как получить остатки по счетам?"ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Счет), | ХозрасчетныйОстатки.ВалютнаяСуммаОстатокДт КАК ВалютнаяСуммаОстатокДт, | ХозрасчетныйОстатки.Счет.Порядок КАК СчетПорядок, | ХозрасчетныйОстатки.Валюта КАК Валюта, | ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОстатки.Валюта) |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет.Валютный И Счет.Вид = &Активный, ,) КАК ХозрасчетныйОстатки |УПОРЯДОЧИТЬ ПО | СчетПорядок |ИТОГИ | СУММА(ВалютнаяСуммаОстатокДт) |ПО | Валюта"; Запрос.УстановитьПараметр("Активный", ВидСчета.Активный); Запрос.УстановитьПараметр("Дата", Дата); Как перенести остаток со счета на счет?Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.СуммаОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , | Субконто1 = &Контрагент И Организация = &Организация И Субконто2 = &Договор) КАК ХозрасчетныйОстатки"; // Считаем что на счете ведется аналитика только в разрезе контрагентов // и договоров. Запрос.УстановитьПараметр("Период", Период1); Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("Договор", Договор); Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.РасчетыСПокупателями); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Документ = Документы.ОперацияБух.СоздатьДокумент(); Документ.Дата = РабочаяДата; Документ.Организация = Организация; Документ.Содержание = "Погашение дебиторской задолженности"; Проводка = Документ.Движения.Хозрасчетный.Добавить(); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.РасчетыСПокупателями; Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы; Проводка.СубконтоДт.Контрагенты = Контрагент; Проводка.СубконтоДт.Договоры = Договор; Проводка.Сумма = Выборка.СуммаОстатокДт; Документ.СуммаОперации = Выборка.СуммаОстатокДт; Форма = Документ.ПолучитьФорму(); Форма.Открыть(); КонецЕсли; Как найти первый документ, приведший к появлению кредитового остатка на счете?ВЫБРАТЬ ПЕРВЫЕ 1 ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаН, &ДатаК, Регистратор, , Счет = &Счет, , ) КАК ХозрасчетныйОстаткиИОбороты ГДЕ ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт > 0 УПОРЯДОЧИТЬ ПО ХозрасчетныйОстаткиИОбороты.Период,Регистратор Как выбрать все счета, в аналитике которых присутствуют либо вид субконто "Контрагент", либо вид субконто "Договор"?ВЫБРАТЬ ХозрасчетныйВидыСубконто.Ссылка КАК Счет ИЗ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто ГДЕ ХозрасчетныйВидыСубконто.ВидСубконто.Наименование В ("Договоры", "Контрагенты") Как выбрать все счета, в аналитике которых присутствуют как вид субконто "Контрагент", так и вид субконто "Номенклатура"?ВЫБРАТЬ ХозрасчетныйВидыСубконто.Ссылка КАК Счет ИЗ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто1 ПО ХозрасчетныйВидыСубконто.Ссылка = ХозрасчетныйВидыСубконто1.Ссылка ГДЕ (ХозрасчетныйВидыСубконто.ВидСубконто.Наименование = "Контрагенты") И (ХозрасчетныйВидыСубконто1.ВидСубконто.Наименование = "Номенклатура") Как добавить новый вид субконто к счету?ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Менеджеры", Истина); // Добавить новый вид характеристик. Если ВидМенеджеры.Пустая() Тогда ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СоздатьЭлемент(); ВидМенеджеры.Наименование = "Менеджеры"; ВидМенеджеры.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи"); ВидМенеджеры.Записать(); КонецЕсли; // Получить нужный счет. Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1"); Если (Не Счет.Пустая()) И (Счет.ВидыСубконто.Найти(ВидМенеджеры) = Неопределено) Тогда // Добавить новый вид субконто к счету. ОбъектСчета = Счет.ПолучитьОбъект(); НовыйВидСубконто = ОбъектСчета.ВидыСубконто.Добавить(); НовыйВидСубконто.ВидСубконто = ВидМенеджеры; НовыйВидСубконто.ТолькоОбороты = Истина; НовыйВидСубконто.Суммовой = Истина; ОбъектСчета.Записать(); КонецЕсли; Как из регистра бухгалтерии "Хозрасчетный" получить обороты только по валютным счетам?ВЫБРАТЬ ХозрасчетныйОбороты.Организация КАК Организация, ХозрасчетныйОбороты.Счет КАК Счет, ХозрасчетныйОбороты.Валюта, ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.ВалютнаяСуммаОборотДт, ХозрасчетныйОбороты.СуммаОборотКт, ХозрасчетныйОбороты.ВалютнаяСуммаОборотКт ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон, , Счет.Валютный, , , , ) КАК ХозрасчетныйОбороты УПОРЯДОЧИТЬ ПО Организация, ХозрасчетныйОбороты.Счет.Код Как выбрать в регистре бухгалтерии "Хозрасчетный" обороты по "60-ым" счетам, исключив внутренние обороты между ними?ВЫБРАТЬ ХозрасчетныйОбороты.Счет, ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.СуммаОборотКт ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон , , Счет В ИЕРАРХИИ (&Счет), , , НЕ(КорСчет В ИЕРАРХИИ (&Счет)), ) КАК ХозрасчетныйОбороты УПОРЯДОЧИТЬ ПО ХозрасчетныйОбороты.Счет.Код Как реализовать метод "красного сторно" для регистра бухгалтерии?Процедура ОбработкаПроведения(Отказ, Режим) СторнируемыеДвижения = РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(СторнируемыйДокумент); Пока СторнируемыеДвижения.Следующий() Цикл Проводка = Движения.Хозрасчетный.Добавить(); Проводка.Период = Дата; Проводка.СчетДт = СторнируемыеДвижения.СчетДт; Проводка.СчетКт = СторнируемыеДвижения.СчетКт; Для каждого Субконто Из СторнируемыеДвижения.СубконтоДт Цикл Проводка.СубконтоДт[Субконто.Ключ] = Субконто.Значение; КонецЦикла; Для каждого Субконто Из СторнируемыеДвижения.СубконтоКт Цикл Проводка.СубконтоКт[Субконто.Ключ] = Субконто.Значение; КонецЦикла; Проводка.ВалютаДт = СторнируемыеДвижения.ВалютаДт; Проводка.ВалютаКт = СторнируемыеДвижения.ВалютаКт; Проводка.ВалютнаяСуммаДт = - СторнируемыеДвижения.ВалютнаяСуммаДт; Проводка.ВалютнаяСуммаКт = - СторнируемыеДвижения.ВалютнаяСуммаКт; Проводка.КоличествоДт = - СторнируемыеДвижения.КоличествоДт; Проводка.КоличествоКт = - СторнируемыеДвижения.КоличествоКт; Проводка.НомерЖурнала = СторнируемыеДвижения.НомерЖурнала; Проводка.Организация = СторнируемыеДвижения.Организация; Проводка.Содержание = СторнируемыеДвижения.Содержание; Проводка.Сумма = - СторнируемыеДвижения.Сумма; КонецЦикла; Движения.Хозрасчетный.Записать(); КонецПроцедуры |