Уведомления
Очистить все

Как получить или создать новую настройку счетов учета в 1С?

1 Записи
1 Пользователи
0 Reactions
18.4 Тыс. Просмотры
65-150 Okolokompa Форум
(@kalininalex)
Reputable Member
Присоединился: 6 лет назад
Записи: 176
Создатель темы   [#1356]

Заполняем реквизит "НастройкаСчетовУчета".

Это реквизит с типом СправочникСсылка.НастройкиСчетовУчетаПрочихОпераций.

Чтобы получить эту настройку или создать новую, можно воспользоваться следующей функцией:

(ВладелецНастройки - например ссылка на документ или справочник. В данном случае, получим настройку счетов учета по статье Активов Пассивов)

Функция ПолучитьНастройкуСчетовУчетаПоСтатьеАктивовПассивов(СтатьяАктивовПассивов, ВладелецНастройки)
	
	РезультатФункции = Справочники.НастройкиСчетовУчетаПрочихОпераций.ПустаяСсылка();
	
	Если НЕ ТипЗнч(СтатьяАктивовПассивов) = Тип("ПланВидовХарактеристикСсылка.СтатьиАктивовПассивов") Тогда
		Возврат РезультатФункции;
	КонецЕсли; 
	
	Если НЕ ЗначениеЗаполнено(СтатьяАктивовПассивов) Тогда
		Возврат РезультатФункции;
	КонецЕсли; 
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	СтатьиАктивовПассивов.Ссылка КАК Ссылка,
	|	СтатьиАктивовПассивов.СчетУчета КАК СчетУчета,
	|	СтатьиАктивовПассивов.Субконто1 КАК Субконто1,
	|	СтатьиАктивовПассивов.Субконто2 КАК Субконто2,
	|	СтатьиАктивовПассивов.Субконто3 КАК Субконто3
	|ПОМЕСТИТЬ ВТ_СтатьиАктивовПассивов
	|ИЗ
	|	ПланВидовХарактеристик.СтатьиАктивовПассивов КАК СтатьиАктивовПассивов
	|ГДЕ
	|	СтатьиАктивовПассивов.Ссылка = &СтатьяАктивовПассивов
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|	НастройкиСчетовУчетаПрочихОпераций.Ссылка КАК НастройкаСчетовУчета,
	|	НастройкиСчетовУчетаПрочихОпераций.СчетУчета КАК СчетУчета,
	|	НастройкиСчетовУчетаПрочихОпераций.Субконто1 КАК Субконто1,
	|	НастройкиСчетовУчетаПрочихОпераций.Субконто2 КАК Субконто2,
	|	НастройкиСчетовУчетаПрочихОпераций.Субконто3 КАК Субконто3,
	|	НастройкиСчетовУчетаПрочихОпераций.ВладелецНастройки КАК ВладелецНастройки
	|ИЗ
	|	ВТ_СтатьиАктивовПассивов КАК ВТ_СтатьиАктивовПассивов
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НастройкиСчетовУчетаПрочихОпераций КАК НастройкиСчетовУчетаПрочихОпераций
	|		ПО ВТ_СтатьиАктивовПассивов.СчетУчета = НастройкиСчетовУчетаПрочихОпераций.СчетУчета
	|ГДЕ
	|	НастройкиСчетовУчетаПрочихОпераций.ПометкаУдаления = ЛОЖЬ
	|	И НастройкиСчетовУчетаПрочихОпераций.ВладелецНастройки = &ВладелецНастройки";
	
	Запрос.УстановитьПараметр("СтатьяАктивовПассивов", СтатьяАктивовПассивов);
	Запрос.УстановитьПараметр("ВладелецНастройки", ВладелецНастройки);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	Если РезультатЗапроса.Пустой() Тогда	                                					
		НастройкаСУ_Объект = Справочники.НастройкиСчетовУчетаПрочихОпераций.СоздатьЭлемент();                  	
	Иначе
		Выборка = РезультатЗапроса.Выбрать();
		Выборка.Следующий();
		НастройкаСУ_Объект = Выборка.НастройкаСчетовУчета.ПолучитьОбъект();
	КонецЕсли; 
	
	ЗначенияРеквизитовСтатьиАктивовПассивов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтатьяАктивовПассивов, "СчетУчета, Субконто1, Субконто2, Субконто3");
	
	НастройкаСУ_Объект.СчетУчета = ЗначенияРеквизитовСтатьиАктивовПассивов.СчетУчета;
	НастройкаСУ_Объект.Субконто1 = ЗначенияРеквизитовСтатьиАктивовПассивов.Субконто1;
	НастройкаСУ_Объект.Субконто2 = ЗначенияРеквизитовСтатьиАктивовПассивов.Субконто2;
	НастройкаСУ_Объект.Субконто3 = ЗначенияРеквизитовСтатьиАктивовПассивов.Субконто3;   
	НастройкаСУ_Объект.ВладелецНастройки = ВладелецНастройки;
	
	НастройкаСУ_Объект.Записать();
	
	РезультатФункции = НастройкаСУ_Объект.Ссылка;
	
	Возврат РезультатФункции;
	
КонецФункции


   
Цитата
Поделиться: