8.х заполнить табличную часть документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ленок87, 19 апр 2012.

  1. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    обычное приложение нужно заполнить табличную часть документа форму которого открыли программно.


    Код:
    {Обработка.запонениеДокумента1.Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (Добавить)
    Стр=Документ.Товары.Добавить();
    по причине:
    Объект недоступен для изменения.
    
  2. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    Это в коде формы?
    Так а почему не просто
    Код:
    Товары.Добавить();
    ...
    ?
    Изменятся данные на форме, при закрытии формы документ будет записан (если то надо) - данные с формы упадут в БД.
  3. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Что такое у Вас в коде "Документ"?
    Это реквизит обработки и пользователь выбирает нужный документ в поле на форме?
    Или программно получаете какой-то существующий документ? Если, да, то как?
    Или программно создаете новый документ? Если да, то как?
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Добавлять строку надо в ДокументОбЪект, а не ДокументСсылка.
  5. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    Это в коде формы обработчика (мне нужно документ(пустой) поступления который в базе уже создан заполнить ).Документ выбирает пользователь в форме обработчика
    Нужно взять все отрицательные остатки и записать в документ
  6. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29


    Код:
    ДокОбъект=Документ.ПОлучитьОбъект(); // изменять надо ДокументОбъект а не ДокументСсылку
    Стр=ДокОбъект.Товары.Добавить();
  7. TopicStarter Overlay
    Ленок87
    Offline

    Ленок87 Опытный в 1С

    Регистрация:
    7 фев 2012
    Сообщения:
    261
    Симпатии:
    0
    Баллы:
    26
    Всем большое спасибо за помощь
  8. alivan
    Offline

    alivan

    Регистрация:
    6 фев 2012
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Везде встречаются примеры заполнения табличной части новыми записями. А если в документе табличная часть заполнена (правда не все столбцы). Как заполнить недостающие значения ?
    В примерах выше добавляем строку:
    Код:
    Стр=ДокОбъект.Товары.Добавить();
    А если добавлять не нужно? Считать строку изменить нужный реквизит и записать:
    Код:
    ДокОбъект.Товары.Наименование = ???
  9. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Получаете нужные строки (перебором всех строк, отбором нужных строк по значению, получением строки по индексу и т.п.) и меняете необходимый реквизит.
    Например, перебором всех строк:
    [CODE1C]
    Для каждого ТекСтрока Из ДокОбъект.Товары Цикл
    ТекСтрока.Наименование = ЗначениеНаименования;
    КонецЦикла;
    [/CODE1C]
  10. alivan
    Offline

    alivan

    Регистрация:
    6 фев 2012
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Так я пробовал. Пишет что поле обекта не доступно для записи. Подумал что не так что-то делаю.
    Живой пример. Нужно в документе, в табличной части, заполнить значение СчетУчетаЗатрат (БГУ).
    Код:
    ОСстрока.СчетУчетаЗатрат = ПланыСчетов.ЕПСБУ.НайтиПоКоду("401.20");
    как раз и пишет что поле обекта...
    Может не так что-то при обращении?
  11. alivan
    Offline

    alivan

    Регистрация:
    6 фев 2012
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Все разобрался благодаря сообщению выше.

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