Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: У единиц хранения остатков номенклатуры неверно указан владелец.  (Прочитано 16845 раз)
0 Пользователей и 1 Гость смотрят эту тему.
decl
Гость
« : 30-10-2009 12:09 » 

Заполняю номенклатуру так(из dbf):
Код:   
      
      Группа = НоменклатураСправ.НайтиПоНаименованию(Строчка.MLN_TYPE);
      НовыйЭлСправ                            = НоменклатураСправ.СоздатьЭлемент();
        НовыйЭлСправ.Код                        = Строчка.MLN_N;
      НовыйЭлСправ.Наименование               = СокрЛП(Строчка.MLN_NAME);
      НовыйЭлСправ.ВидНоменклатуры            = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Учет товара", 1);
      НовыйЭлСправ.БазоваяЕдиницаИзмерения    = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт",1);
      НовыйЭлСправ.ЕдиницаИзмеренияМест       = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт",1);
      НовыйЭлСправ.ВестиУчетПоХарактеристикам = Истина;
      НовыйЭлСправ.ВестиУчетПоСериям          = Ложь;
      НовыйЭлСправ.СтавкаНДС                  = Перечисления.СтавкиНДС.БезНДС;
      НовыйЭлСправ.Родитель                   = Группа.Ссылка;
      НовыйЭлСправ.Записать();
      НовыйЭлСправ.ОбменДанными.Загрузка = Истина;
      
      НовЕдИзмерения                       = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
      НовЕдизмерения.ОбменДанными.Загрузка   = Истина;
      НовЕдИзмерения.Владелец               = НоменклатураСправ.НайтиПоНаименованию(Строчка.MLN_NAME);
      НовЕдИзмерения.Коэффициент           = "1";
      НовЕдИзмерения.Наименование          = "шт";
      НовЕдИзмерения.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт",1);      
      НовЕдизмерения.Записать();
      
      НовыйЭлсправ.ЕдиницаДляОтчетов        = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт",1);
      НовыйЭлсправ.ЕдиницаХраненияОстатков = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт",1);
      НовыйЭлСправ.Записать();


По итогу получается, что элемент номенклатуры записался, но при попытке вручную что-нибудь в нем поменять пишет:"Не удалось записать элемент номенклатуры"
Помогите разобраться...
« Последнее редактирование: 05-11-2009 07:30 от Sel » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 30-10-2009 17:58 » 

      НовЕдИзмерения.Владелец               = НовыйЭлСправ.Ссылка;

Проблема скорее всего в том, что ты присваиваешь наименование без пробелов:
      НовыйЭлСправ.Наименование               = СокрЛП(Строчка.MLN_NAME);
а ищешь - с возможными пробелами (dbf добавляет пробелы справа до длины поля):
      НовЕдИзмерения.Владелец               = НоменклатураСправ.НайтиПоНаименованию(Строчка.MLN_NAME);
Записан
decl
Гость
« Ответ #2 : 05-11-2009 07:16 » 

Проблема, к сожалению, не в этом...
Может, дело в том, что я неправильно очищаю справочник Номенклатура?

Выборка  = Справочники.Номенклатура.ВыбратьИерархически();
      Пока Выборка.Следующий() Цикл      
           Выборка.ПолучитьОбъект().Удалить();
      КонецЦикла;

Пишу обработку, которая берет Номенклатуру из dbf. При закрытии обработки очищаю Номенклатуру вышеуказанным способом. Удаляются ли все ссылки на элемент в этом случае?
« Последнее редактирование: 05-11-2009 07:31 от Sel » Записан
decl
Гость
« Ответ #3 : 05-11-2009 08:59 » 

Еще, если после обработки открыть карточку элемента и вручную выбрать Единицу хранения остатков и Единицу для отчетов(хотя они уже заполнены), то элемент благополучно записывается... второй день голову ломаю...
Записан
decl
Гость
« Ответ #4 : 05-11-2009 09:53 » new

Разобрался. Ошибка была в том что в единицу остатков записывал первую попавшуюся единицу с названием "шт". Нужно записывать только что созданную. Она точно принадлежит данному элементу номенклатуры.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines