8.х Изменение табличной части

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

  1. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    Добрый день. Второй день учусь программировать на 1С, но очень понадобилась обработка для проставления Суммы ндс, в одном документе реализация товара. Прошу помощи.

    Создал поле ввода (ПолеВвода), где нужно выбрать нужный документ (с этим проблем нет).
    далее должно быть что то типа этого. Знаю, для вас написанное далее будет бред, но может подскажите?
    док = ПолеВвода.ПолучитьОбъект();
    стч = док.Товары;
    пока стч.Следующий цикл
    стч.СуммаНДС = стч.Сумма * 0.18 ;
    конеццикла;
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Код:
    Для каждого Стр Из Стч цикл
    стр.СуммаНДС = стр.Сумма * 0.18 ;
    КонецЦикла;
    Golemchik нравится это.
  3. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    Большое спасибо. Про стр даже не слышал. Что это такое? в синтаксис помощнике ничего про стр не нашел.
  4. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    это итератор цикла
    --- Объединение сообщений, 23 дек 2014 ---
    обзовите как хотите
    Golemchik нравится это.
  5. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    спасибо
  6. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    ну и последнее, для красоты. Хочу добавить еще строчечку, тоже фигня какая то.

    стр.СтавкаНДС = перечисления.СтавкиНДС.НДС18;
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    В чем фигня?
  8. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    СтавкаНДС остается пустой
  9. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а колонка какого типа? должна быть Перечисление
  10. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    капец. может кто поможет. вот код
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
        док = ПолеВвода.ПолучитьОбъект();
           стч = док.Товары;
           ндс = Перечисления.СтавкиНДС.НДС18 ;
           Для каждого стр Из Стч цикл
              
               стр.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
    стр.СуммаНДС = стр.Сумма * 0.18 ;   
        КонецЦикла;
                  док.Записать();     
    КонецПроцедуры
    
    так 18% не вставляет, а если переставить вот так
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
        док = ПолеВвода.ПолучитьОбъект();
           стч = док.Товары;
           ндс = Перечисления.СтавкиНДС.НДС18 ;
           Для каждого стр Из Стч цикл
           
    стр.СуммаНДС = стр.Сумма * 0.18 ;   
    стр.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
    
        КонецЦикла;
                  док.Записать();     
    КонецПроцедуры
    
    то все нормально. Не подскажите почему?
  11. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    возможно есть событие на обработку изменения значения колонки СуммаНДС. И зачем каждый раз получать перечисление, если вы его переменной уже присвоили
    --- Объединение сообщений, 23 дек 2014 ---
    отладчиком пройдите и увидите что меняется
  12. TopicStarter Overlay
    Golemchik
    Offline

    Golemchik Опытный в 1С

    Регистрация:
    15 апр 2013
    Сообщения:
    254
    Симпатии:
    1
    Баллы:
    29
    ндс = Перечисления.СтавкиНДС.НДС18 ; естественно лишняя строка.
  13. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    я бы так не сказала...
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
        док = ПолеВвода.ПолучитьОбъект();
           стч = док.Товары;
           ндс = Перечисления.СтавкиНДС.НДС18 ;
           Для каждого стр Из Стч цикл
          
    стр.СуммаНДС = стр.Сумма * 0.18 ;  
    //стр.СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
    стр.СтавкаНДС = ндс;
    
        КонецЦикла;
                  док.Записать();    
    КонецПроцедуры
    Golemchik нравится это.

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