8.х Программное заполнение документа

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

  1. TopicStarter Overlay
    Sevak
    Offline

    Sevak Опытный в 1С

    Регистрация:
    31 окт 2012
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    Привет всем...

    Помогите пожалуйста с кодом. Мне нужно заполнить табличную часть документа оприходование товаров.

    Код:
       НовыйДокумент = Документы.ОприходованиеТоваров.СоздатьДокумент();
    
    НовыйДокумент.Дата = ТекущаяДата();
    НовыйДокумент.Склад = Справочники.Склады.НайтиПоНаименованию("Sklad");
    НовыйДокумент.ХозяйственнаяОперация =  Справочники.ХозяйственныеОперации.НайтиПоНаименованию("Оприходование");
    
    //вот здесь
    
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    
  2. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    НоваяСтрока = НовыйДокумент.Товары.Добавить();
    НоваяСтрока.Номенклатура = ...
    и т.д.
  3. TopicStarter Overlay
    Sevak
    Offline

    Sevak Опытный в 1С

    Регистрация:
    31 окт 2012
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    все сделал, но единицу измерение не могу добавить, ошибку дает

    Код:
       НовыйДокумент = Документы.ОприходованиеТоваров.СоздатьДокумент();[/size]
    
    НовыйДокумент.Дата = ТекущаяДата();
    НовыйДокумент.Склад = Справочники.Склады.НайтиПоНаименованию("Պահեստ");
    НовыйДокумент.ХозяйственнаяОперация =  Справочники.ХозяйственныеОперации.НайтиПоНаименованию("Оприходование");
    
    //вот здесь
    НоваяСтрока = НовыйДокумент.Товары.Добавить();
    НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("AAAA");
    НоваяСтрока.Количество = 1;
    НоваяСтрока.Коэффициент = 1;
    НоваяСтрока.ЕдиницаИзмерения = "шт";
    НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    


    Проведение документа: Оприходование товаров РТ1ՏՏ000003 от 03/25/2013 15:11:15
    В строке номер "1" табличной части "Товары": Не заполнено значение реквизита "Единица измерения"!
  4. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    посмотрите тип у единицы измерения, явно там не строка

    пройдитесь поиском, буквально на днях вроде видела заполнение табчасти, в частности единицы измерения
  5. TopicStarter Overlay
    Sevak
    Offline

    Sevak Опытный в 1С

    Регистрация:
    31 окт 2012
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    все путем`.


    НоваяСтрока.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");

    Спасибо за помощ
  6. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    НоваяСтрока.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт",,,НоваяСтрока.Номенклатура);
    иначе может зацепить не ту единицу.
  7. TopicStarter Overlay
    Sevak
    Offline

    Sevak Опытный в 1С

    Регистрация:
    31 окт 2012
    Сообщения:
    111
    Симпатии:
    0
    Баллы:
    26
    nickpugachev а если зацепить что тут страшного?


    я так думаю штука есть штука, какая разница какой у него владелец. Объясни меня я тоже хочу знать :)))
  8. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если не найдет, то вернет пустую ссылку. При такой конструкции надо будет проверку делать и создавать в случае чего новый элемент
  9. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    у разной номенклатуры единицы измерения могут называться одинаково, но иметь разные коэффициенты пересчета.
    если у вас номенклатура заполнена вся, а не загружается перед документом, то можно сделать так
    НоваяСтрока.ЕдиницаИзмерения = НоваяСтрока.Номенклатура.ЕдиницаХраненияОстатков;

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