Created
February 26, 2019 20:45
-
-
Save PlugFox/f05efeeba17198b175ec00e8d6c34666 to your computer and use it in GitHub Desktop.
Создать новые элементы в справочнике из таблицы значений
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Получаешь свою табличку с колонками Наименование, Артикул, Код | |
ТЗ = ПолучитьТаблицуЗначений(); | |
Запрос = Новый Запрос(" | |
|ВЫБРАТЬ * | |
|ПОМЕСТИТЬ ВТ | |
|ИЗ &ТЗ КАК тз | |
|; | |
|ВЫБРАТЬ | |
| вт.Наименование КАК Наименование | |
| , вт.Код КАК Код | |
| , вт.Артикул КАК Артикул | |
| , ВЫБОР | |
| КОГДА ном.Ссылка ЕСТЬ null | |
| ТОГДА ЛОЖЬ | |
| ИНАЧЕ ИСТИНА | |
| КОНЕЦ КАК Существует | |
|ИЗ | |
| ВТ КАК вт | |
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ном | |
| ПО вт.Артикул = ном.Артикул | |
| И вт.Наименование ПОДОБНО ""%Наименование%"" | |
|"); | |
Запрос.УстановитьПараметр("ТЗ", ТЗ); | |
Выборка = Запрос.Выполнить().Выбрать(); | |
// ТРАНЗАКЦИЯ + | |
НачатьТранзакцию(); | |
Попытка | |
// ОПЕРАЦИЯ + | |
Пока Выборка.Следующий() Цикл | |
Если Выборка.Существует Тогда Продолжить КонецЕсли; | |
нОбъект = Справочник.Номенклатура.Создать(); | |
ЗаполнитьЗначениеСвойств(нОбъект, Выборка); | |
нОбъект.Записать(); | |
КонецЦикла; | |
// ОПЕРАЦИЯ - | |
ЗафиксироватьТранзакцию(); | |
Исключение | |
Если ТранзакцияАктивна() Тогда | |
ОтменитьТранзакцию(); | |
КонецЕсли; | |
ВызватьИсключение СтрШаблон("Во время транзакции произошла ошибка. | |
|Описание ошибки: %1", ОписаниеОшибки()); | |
КонецПопытки; | |
// ТРАНЗАКЦИЯ - |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment