Вход | Регистрация

1С:Предприятие ::

Метки:ТиС

Проблемы при изменении родителя элемента справочника

Я
   ReLock
 
26.07.04 - 16:07
Есть ТЗ. Поля (сокращенный вариант):
Товар(строка) - товар из xml-файла.
Код(строка) - код товара из xml-файла.
ЭтоГруппа(число) - признак, что элемент является групой.
Идент(строка) - уникальный 36-значный идентификатор товара.
Владелец(строка) - родитель товара из xml-файла.
ИдентВлад - уникальный 36-значный идентификатор родителя.
ТоварБД - неопред. тип поля. Значением становится элемент справочника при сопоставлении товаров из xml-файла с БД
ВладелецБД - родитель товара в БД (тоже элемент справочника).

Перед записью номенклатуры в БД произвожу сопоставление родителей. И вот тут начинаются чудеса на виражах.

Как я пытаюсь это сделать:
Код:
Процедура ИзменениеРодителейТоваров()//++ ReLock (19.07.2004)

  Спр = СоздатьОбъект("Справочник.Номенклатура");
  ТЗагр.ВыбратьСтроки();
  Пока ТЗагр.ПолучитьСтроку() = 1 Цикл
    ТекСтр = ТекСтр + 1;
    Если ТЗагр.ЭтоГруппа = 1 Тогда
      Продолжить;
    КонецЕсли;
    
  ВладелецБД = ТЗагр.ВладелецБД;
  Если ТЗагр.ИдентВлад <> ВладелецБД.Идентификатор Тогда
  Если Спр.НайтиПоРеквизиту("Идентификатор",ТЗагр.ИдентВлад,1) = 1 Тогда
    НовРодитель = Спр.ТекущийЭлемент();
    Если Спр.НайтиПоКоду(ТЗагр.Код,0) = 1 Тогда
      Спр.Родитель = НовРодитель;
      Спр.Записать();
      Сообщить("У товара "+Строка(Спр)+" изменен родитель");
    КонецЕсли;
  Иначе
    Сообщить("В БД не найдена группа-родитель!");
  КонецЕсли;
КонецПроцедуры//ИзменениеРодителейТоваров()
Соответственно, я даже после строки
Код:
Спр.Записать()
вставлял проверку, соответствует ли родитель товара в БД родителю товара в xml-файле. Гонял через отладчик. Каждый элемент, у которого изменяется родитель записывается без проблем. Провожу повторную загрузку таблицы товаров с сопоставлением. Как было так и осталось. Никаких изменений. Родители не изменены. Что делать? Может кто-то сталкивался с такой проблемой?
 
  Рекламное место пустует
   Волшебник
 
1 - 26.07.04 - 16:25
Зафиксируй транзакцию.
   ReLock
 
2 - 27.07.04 - 10:50
Как я только транзакцию не фиксировал. Ничего не получается.


Список тем форума
Рекламное место пустует  
Закон Брукера: Даже маленькая практика стоит большой теории.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует