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