Back to top

Как заполнить счета учета регистра сведений, данными Номенклатуры?

Опубликовано e-1c@mail.ru - пт, 08/12/2016 - 14:23

В конфигурации "Бухгалтерия предприятия", понадобилось проставить счета учета затрат по ряду номенклатурных позиций, что бы не делать этого в ручную, пробегаем по запросу и заполняем регистр сведений: СчетаУчетаНоменклатуры.

Есть особенность, которая заключается в том, что наименование ресурса регистра - СчетУчетаНДСПоПриобретеннымЦенностям, отличается от наименования данного ресурса (СчетУчетаНДС), полученного через функцию - ПолучитьСчетаУчетаНоменклатуры

 
// www.e-1c.ru
_Организация = Справочники.Организации.НайтиПоНаименованию("Основная организация"); // 
_ОсновнойСклад = Справочники.Склады.НайтиПоНаименованию("№1"); // 
 
 
	СпрН = Справочники.Номенклатура;
 
	Запрос = Новый Запрос;
	 Запрос.Текст = "ВЫБРАТЬ
 
	 |Номенклатура.* 
	 |ИЗ Справочник.Номенклатура КАК Номенклатура
	 |где Номенклатура.Артикул подобно ""%мбп%""
	 |";
 
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выгрузить();
 
 
	Ч = 0; Всего = 0;
 
	Для Каждого Строка из Выборка Цикл
 
		Ч = Ч + 1;
		Товар = Строка.Ссылка;
 
		СчетаУчета = БухгалтерскийУчет.ПолучитьСчетаУчетаНоменклатуры(_Организация, Товар, _ОсновнойСклад);			
		СчетУчетаЗатрат = СчетаУчета.СчетУчета;
		СчетУчетаНДС = СчетаУчета.СчетУчетаНДС; //  !!! !!! !!!
		Если ЗначениеЗаполнено(СчетУчетаЗатрат) и  ЗначениеЗаполнено(СчетУчетаНДС) Тогда
			Сообщить(""+Ч +"   -  " +Товар+"    "+СчетУчетаЗатрат);
		Иначе
  			МенеджерЗаписи = РегистрыСведений.СчетаУчетаНоменклатуры.СоздатьМенеджерЗаписи();
    			МенеджерЗаписи.Организация     = _Организация;
    			МенеджерЗаписи.Склад     = _ОсновнойСклад;
    			МенеджерЗаписи.Номенклатура = Товар;
			МенеджерЗаписи.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.09");
			МенеджерЗаписи.СчетУчетаНДСПоПриобретеннымЦенностям = ПланыСчетов.Хозрасчетный.НайтиПоКоду("19.03");
    		МенеджерЗаписи.Записать();			
		КонецЕсли;
 
	КонецЦикла;