7.7 Автоматическое заполнение табличной формы документа из справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Kosenshteyn, 11 июл 2007.

Статус темы:
Закрыта.
  1. TopicStarter Overlay
    Kosenshteyn
    Offline

    Kosenshteyn

    Регистрация:
    11 июл 2007
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!

    Помогите, найти решение. Имею дело с типовой бухгалтерией 7-ки. Ситуация следущая:

    В табличную часть документа "Поступление товаров" добавил новую колонку "Ставка НДС" (Идентификатор "СтавкаНДС", тип Справочник.СтавкиНДС). Теперь нужно сделать, чтобы эта графа в документе заполнялась автоматически из справочника "Номенклатура" при выборе товара. В "Номенклатуре" как раз и хранится значение Ставки НДС для каждой конкретной позиции. Как будет выглядеть процедура, которая будет решать эту задачу? Заранее благодарен.
  2. Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Ну тут два варианта
    1. Лезть в ГМ и ковырять там процедуру, которая отрабатывает при подборе номенклатуры.
    2. Непосредственно выполнить заполнение в модуле формы дока после подбора номенклатуры.

    Я так думаю, что справочник СтавкиНДС подчинен номенклатуре? Нет у меня бухгалтерии.
    Ну что то наподобие:
    Код:
    НДС=СоздатьОбъект("Справочник.СтавкиНДС");
    НДС.ИспользоватьВладельца(Товар);
    //ну тут находим нужную ставку НДС
    СтавкаНДС=НДС.ТекущийЭлемент();
    //соответственно для всех строк в цикле
    //но правильнее в ГМ разобраться
    
  3. TopicStarter Overlay
    Kosenshteyn
    Offline

    Kosenshteyn

    Регистрация:
    11 июл 2007
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Справочник Ставки НДС самостоятельный справочник. Хотелось бы в ГМ сильно не залазить, что бы огорода не нагородить, а ограничиться модулем формы.
  4. Steel Rain
    Offline

    Steel Rain Опытный в 1С

    Регистрация:
    29 сен 2006
    Сообщения:
    408
    Симпатии:
    2
    Баллы:
    29
    Ну раз самостоятельный, то ещё проще. Прямое обращение к реквизиту элемента справочника Номенклатура. И код вставить в модуль формы после того как отработает процедура ОбработкаПодбора()
    Вообще не знаю... стоит ли... У документа реквизит то был такой?
  5. landay
    Offline

    landay Опытный в 1С

    Регистрация:
    23 янв 2007
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    у реквизита "Товар" в поле "Формула" пишешь
    СтавкаНДС = Товар.СтавкаНДС.Получить(РабочаяДата())
    и все. Не забывай, что ставка периодическая.
  6. TopicStarter Overlay
    Kosenshteyn
    Offline

    Kosenshteyn

    Регистрация:
    11 июл 2007
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Всем спасибо за помощь. Решение оказалось простым:
    Код:
    СтавкаНДС = Товар.СтавкаНДС.Получить(ДатаДок);
    
    А в модуле формы документа "Поступление товаров" эта строка пишется в процедуре Пересчет() после строк:
    Код:
    Если Товар.Выбран() = 1 Тогда
    Если (ИмяРеквизита = "Товар") Тогда  
    
    Далее искомая строка:
    Код:
     СтавкаНДС = Товар.СтавкаНДС.Получить(ДатаДок);
    
    Еще раз всем спасибо! :unsure:
Статус темы:
Закрыта.

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