Справочные материалы по 1С

Бухгалтерский учет в 1С 8.x

Как в регистре бухгалтерии сформировать проводки?

// Задать выбираемые значения. 
ВыбранныйОтветственный = Справочники.Пользователи.НайтиПоНаименованию("Иванцова"); 
ВыбранныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду("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-ым" счетам, исключив внутренние обороты между ними?

ВЫБРАТЬ 
	ХозрасчетныйОбороты.Счет, 
	ХозрасчетныйОбороты.СуммаОборотДт, 
	ХозрасчетныйОбороты.СуммаОборотКт 
ИЗ 
	РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон , , Счет В ИЕРАРХИИ (&Счет), , , 
							НЕ(КорСчет В ИЕРАРХИИ (&Счет)), ) 
КАК ХозрасчетныйОбороты 
УПОРЯДОЧИТЬ ПО ХозрасчетныйОбороты.Счет.Код          
Как реализовать метод "красного сторно" для регистра бухгалтерии?

Процедура ОбработкаПроведения(Отказ, Режим) 

	СторнируемыеДвижения = РегистрыБухгалтерии.Хозрасчетный.ВыбратьПоРегистратору(СторнируемыйДокумент); 

	Пока СторнируемыеДвижения.Следующий() Цикл 
		Проводка = Движения.Хозрасчетный.Добавить(); 
		Проводка.Период = Дата; 
		Проводка.СчетДт = СторнируемыеДвижения.СчетДт; 
		Проводка.СчетКт = СторнируемыеДвижения.СчетКт; 

		Для каждого Субконто Из СторнируемыеДвижения.СубконтоДт Цикл 
			Проводка.СубконтоДт[Субконто.Ключ] = Субконто.Значение; 
		КонецЦикла; 

		Для каждого Субконто Из СторнируемыеДвижения.СубконтоКт Цикл 
			Проводка.СубконтоКт[Субконто.Ключ] = Субконто.Значение; 
		КонецЦикла; 

		Проводка.ВалютаДт = СторнируемыеДвижения.ВалютаДт; 
		Проводка.ВалютаКт = СторнируемыеДвижения.ВалютаКт; 
		Проводка.ВалютнаяСуммаДт = - СторнируемыеДвижения.ВалютнаяСуммаДт; 
		Проводка.ВалютнаяСуммаКт = - СторнируемыеДвижения.ВалютнаяСуммаКт; 
		Проводка.КоличествоДт = - СторнируемыеДвижения.КоличествоДт; 
		Проводка.КоличествоКт = - СторнируемыеДвижения.КоличествоКт; 
		Проводка.НомерЖурнала = СторнируемыеДвижения.НомерЖурнала; 
		Проводка.Организация = СторнируемыеДвижения.Организация; 
		Проводка.Содержание = СторнируемыеДвижения.Содержание; 
		Проводка.Сумма = - СторнируемыеДвижения.Сумма; 
	КонецЦикла; 

	Движения.Хозрасчетный.Записать(); 

КонецПроцедуры          



Задайте вопрос программисту 1С

+7 901 312 83 57