Имя: Пароль:
1C
1С v8
ЗагрузкаДанныхИзТабличногоДокумента
0 vitalka
 
19.07.11
17:10
как при помощи этой обработки с ИТС загрузить справочник номенклатуры, так чтобы при загрузке элемента если указанного в таблице родителя нет он автоматом создавался

там в настройках можно выставить режимы загрузки реквизита

есть - искать, вычислять, устанавливать , а создавать нету(((

или как загрузить группы, а не элементы? непонятно(((
1 Лефмихалыч
 
19.07.11
17:20
вариант1 - загрузить сначала все группы
вариант2 - поставить режим Вычислять и там кодом искать по наименованию и, если не найден, создавать
2 vitalka
 
19.07.11
17:35
(1)для второго варианта так?

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Наименование"]);

а как условие написать правильно?
3 vitalka
 
19.07.11
18:33
СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Наименование"]);

Если СсылкаНоменклатуры.Пустая() Тогда
   СсылкаНоменклатуры = Справочники.Номенклатура.СоздатьГруппу();
   СсылкаНоменклатуры.Код = СокрЛП(ТекстЯчейки);
   СсылкаНоменклатуры.Наименование = СокрЛП(ТекстЯчейки);
   Попытка СсылкаНоменклатуры.Записать();
        Результат = СсылкаНоменклатуры.Ссылка;
   Исключение Сообщить("Не удалось записать");
   КонецПопытки;
Иначе Результат =СсылкаНоменклатуры.Ссылка;
КонецЕсли;

сделал так, но почемуто не хочет записывать
4 mikecool
 
19.07.11
18:34
(2) в справке довольно доходчиво написано, делал давно уже , не вспомню
5 vitalka
 
19.07.11
18:42
все поборол)))

правильно так:

СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(ТекстЯчейки));

Если СсылкаНоменклатуры.Пустая() Тогда
   СсылкаНоменклатуры = Справочники.Номенклатура.СоздатьГруппу();
   СсылкаНоменклатуры.Код = СокрЛП(ТекстЯчейки);
   СсылкаНоменклатуры.Наименование = СокрЛП(ТекстЯчейки);
   Попытка СсылкаНоменклатуры.Записать();
        Результат = СсылкаНоменклатуры.Ссылка;
   Исключение Сообщить("Не удалось записать");
   КонецПопытки;
Иначе Результат =СсылкаНоменклатуры.Ссылка;
КонецЕсли;
6 Dem1urg
 
19.07.11
22:24
Там еще обработчики событий есть. По смыслу это лучше в них делать.
7 vitalka
 
20.07.11
13:56
а как заставить автоматом присваивать код новой группе?
8 vitalka
 
20.07.11
14:16
сам нашел

СсылкаНоменклатуры.УстановитьНовыйКод();