8.х ОБМЕН Не работает ПКО номенклатры

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем vikips, 1 авг 2014.

  1. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Имеется ПКО номенклатуры, в котором для обработчика после загрузки имеется следующий код


    Код:
    Сообщить(ЗначениеВСтрокуВнутр(Объект));
       СсылкаНаОбъект = Объект.Ссылка;
       Сообщить(ЗначениеВСтрокуВнутр(СсылкаНаОбъект));
       ВыборкаЕдиниц = Справочники.ЕдиницыИзмерения.Выбрать(, СсылкаНаОбъект);
       Если ВыборкаЕдиниц.Следующий() Тогда
         НайденнаяЕдиница = ВыборкаЕдиниц.Ссылка;
       Иначе
         НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
         НайденнаяЕдиницаОбъект.Наименование  = Объект.БазоваяЕдиницаИзмерения.Наименование;
         НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = Объект.БазоваяЕдиницаИзмерения;
         НайденнаяЕдиницаОбъект.Коэффициент  = 1;
         НайденнаяЕдиницаОбъект.Владелец  = СсылкаНаОбъект;
    
         Попытка
           НайденнаяЕдиницаОбъект.Записать();
         Исключение
           Сообщить("Не удалось записать единицу хранения остатков: " + ОписаниеОшибки(), СтатусСообщения.Важное);
           Отказ = Истина;
         КонецПопытки;
    
         НайденнаяЕдиница = НайденнаяЕдиницаОбъект.Ссылка;
       КонецЕсли;
    
      Объект.ЕдиницаХраненияОстатков = НайденнаяЕдиница;
       Объект.ЕдиницаДляОтчетов = НайденнаяЕдиница;

    Для того чтобы заполнить ЕдиницаХраненияОстатков и ЕдиницаДляОтчетов
    так вот я имею следующую ощибку при загрузке

    Начало загрузки: 01.08.2014 9:51:12
    {"#",5175e49f-97a4-40e0-b61a-b914f04d938c}
    {"#",dd0e8719-5e55-43a0-944a-8321d4c46843,163:00000000000000000000000000000000}
    Не удалось записать единицу хранения остатков: {(15)}: Ошибка при вызове метода контекста (Записать): Значение поля "Номенклатура" не заполнено или заполнено неверно

    как я понимаю проблема в ссылке на объект номенклатуры. подскажите что делать, как правильно получить ссылку
    Последнее редактирование модератором: 1 авг 2014
  2. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    КлассификаторСтранМира
  3. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
  4. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Учитесь друг мой http://1c-pro.ru/threads/faq-otladka-pravil-obmena-na-platforme-versii-8.50529/#post-320556
  5. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Проблема как я выяснил. как правильно получить владельца в данном случае это номенклатура
    для присваения сюда.

    эти два варианта не работают

    НайденнаяЕдиницаОбъект.Владелец = Объект;
    после присвоения НайденнаяЕдиницаОбъект.Владелец не определен

    НайденнаяЕдиницаОбъект.Владелец = Объект.Ссылка;
    а здесь ссылка тоже пустая
  6. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Вы воспользовались моей статьей?
  7. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Да спасибо, но решение свой проблемы не нашел, в отладчике видно почему не работает, но как это исправить не могу собразить либо нужно задачу решать по другому, я в ПКО для номенклатуры создаю ее без источника, но как определить ссылку на эту номенклатуру не понятно, перенос происходит из БП3.0 в УПП1.3
  8. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Я не понимаю. Если Вы поняли отладчиком где косяк, то в чем проблема исправить то? Если ссылка присваивается, то значит она присваивается.
  9. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    В том и дело что ссылка на номенклатуру пустая, по этому запись не сохраняется
  10. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Почему она пустая? Не понимаю Вас вообще. Отладчик что показывает? Что в объекте находится?
  11. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    В Объекте находится номеклатура
    Объект стоянка а/м ГАЗ 3302 О466МВ150 СправочникОбъект.Номенклатура

    , в вот Оъект.Ссылка не заполнен

    Ссылка СправочникСсылка.Номенклатура
  12. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Че то значит выгружается как то странно.
  13. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Наменклатуру я создаю не из источника, а ручками поэтому объект есть. а вот ссылки нет, поскольку как я думаю объект еще не записан
  14. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    А. Ну в чем проблема записать объект. Получить на него ссылку и поместить ее в нужное поле?
    vikips нравится это.
  15. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Спасибо, получилось, с записью объекта в обработчике, я как-то сам не собразил, что объект можно самому записать, до того как система его запишет
  16. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    такое дело приводит иногда к дублированию элементов справочника - появляются элементы с такими же полями поиска, причем именно они встают в реквизиты

    лучше сделайте еще одно правило конвертации Номенклатура->ЕдиницыИзмерения, в нем устанавливайте значение владельца в источник, а в обработчике поиска смотрите на наличие единицы измерения у владельца.
    это правило конвертации назначаете для ПКС единицы хранения остатков, в обработчике этого ПКС также значением устанавливаете источник, т.е. номенклатуру.

    тогда проблем с дублями точно не будет
  17. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    У меня номеклатура создается ручками из текстовой строки, поэтому мне не совсем понятно. как в ПКС единицы хранения остатков установить источник номенклатуру, поскольку номенклатура реально не создана
  18. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    если номенклатура создается из строки - то ее и передавайте в качестве источника. она нужна только для того, чтобы владельца заполнить. в этом случае базовая единица у вас фиксирована, как я понимаю.
  19. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    в обработчике поиска смотрите на наличие единицы измерения у владельца

    можите по подребнее, не совсем понял что вы имеете ввиду,
    если можно какой-нибудь пример.
  20. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    примерно то, что делается в 1 сообщении - из соответствия СвойстваПоиска получаем владельца и смотрим на его единицы измерения - если нашли хотя бы одну - записываем ее в переменную СсылкаНаОбъект.

    Код:
      ВыборкаЕдиниц = Справочники.ЕдиницыИзмерения.Выбрать(, СвойстваПоиска["Владелец"]);
       Если ВыборкаЕдиниц.Следующий() Тогда
         СсылкаНаОбъект = ВыборкаЕдиниц.Ссылка;
       КонецЕсли;
    
Похожие темы
  1. lamer1C
    Ответов:
    6
    Просмотров:
    2.438
Загрузка...

Поделиться этой страницей