Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Программирование. Передача значений из формы.

Программирование. Передача значений из формы.
Я
   kachesov
 
25.10.16 - 18:48
Добрый вечер!

Имеется ВПФ с формой.
В форме подтягивается табличная часть документа "реализация" и имеется возможность дописать литраж и плотность.
Далее мне надо эти данные записать (в модуле формы), и прочитать в модуле объекта.

Варианта было два:

    Для каждого ТекСтрока из Объект.Товары Цикл
        СтрокаДок = Объект.СсылкаНаОбъект.Товары[ТекСтрока.НомерСтроки-1];
        Если СтрокаДок = Неопределено Тогда
        ИначеЕсли ТекСтрока.Плотность = 0 Тогда
            ТекСтрока.Литраж = 0;
        Иначе
            ТекСтрока.Литраж = СтрокаДок.Количество/ТекСтрока.Плотность*1000;
        КонецЕсли;
    КонецЦикла;

Записать в табличную часть обработочки (с записью всё нормально), и считывать из модуля объекта:

        ТекСтрока = Товары[СтрокаДокумента.НомерСтроки-1];
        Если ТекСтрока = Неопределено Тогда
            СтрокаДокумента.Плотность = 0;
            СтрокаДокумента.Литраж = 0;
        Иначе
            СтрокаДокумента.Плотность = ТекСтрока.Литраж;
            СтрокаДокумента.Литраж = ТекСтрока.Плотность;
        КонецЕсли;
        
        Если НЕ ЗначениеЗаполнено(СтрокаДокумента.СтавкаНДС) Тогда
            ОбластьМакета.Параметры.СтавкаНДС = "--";
            Если СтрокаДокумента.СуммаНДС = 0 Тогда
                ОбластьМакета.Параметры.СуммаНДС = "--";
            КонецЕсли;
        КонецЕсли;

Но считать не удается. Товары[0] - индекс выходит за границы.
Я сделал вывод, что не могу из модуля объекта обращаться к табличной части. Или она не записывается.


Далее моя вторая попытка.
Я создал реквизит "Переменная" и решил туда ввести все значения.
Хотел использовать массив
    Объект.Переменная = Новый Массив;
но нельзя использовать массивы в модуле формы..

Подскажите пожалуйста, как можно в переменную засунуть множество значений?
 
 
   iceman2112
 
1 - 25.10.16 - 18:51
РеквизитФормыВЗначение()
   Господин ПЖ
 
2 - 25.10.16 - 18:51
>но нельзя использовать массивы в модуле формы..

каждый день новые открытия
   iceman2112
 
3 - 25.10.16 - 18:53
(2) А это как вам?

"Я СДЕЛАЛ ВЫВОД, что не могу из модуля объекта обращаться к табличной части. Или она не записывается."
   kachesov
 
4 - 25.10.16 - 19:05
(2) {ВнешняяОбработка.УПД_литры.Форма.Форма.Форма(75)}: Ошибка при установке значения атрибута контекста (Переменная)
    Объект.Переменная = Новый Массив;
по причине:
Тип "Массив" не может использоваться в данных формы
   kachesov
 
5 - 25.10.16 - 19:08
(1) а можно чуть подробнее? прочитал описание, но не понял как использовать..
   iceman2112
 
6 - 25.10.16 - 19:11
гугл расскажет подробнее
   kachesov
 
7 - 25.10.16 - 19:14
(3) а это не так? я просто где-то косячу?
   kachesov
 
8 - 25.10.16 - 19:53
1) В модуле формы:
    Объект.Переменная = 10;

В модуле объекта:

    ОбластьМакета.Параметры.Плотность = ДопПараметры.Переменная;

Всё работает..

2) В модуле формы:

    Переменная = Новый Массив;
    Переменная[0] = 10;
    Объект.Переменная = Переменная;

В модуле объекта:

    ОбластьМакета.Параметры.Плотность = ДопПараметры.Переменная[0];

Ошибка:
{ВнешняяОбработка.УПД_литры.МодульОбъекта(622)}: Получение элемента по индексу для значения не определено
        ОбластьМакета.Параметры.Плотность = ДопПараметры.Переменная[0];

Но это же массив(
   experimentator76
 
9 - 25.10.16 - 20:47
скока платют ?
   МимохожийОднако
 
10 - 25.10.16 - 20:55
(0)"мне надо эти данные записать (в модуле формы)"- это с какого бодуна?
 
 Рекламное место пустует
   kachesov
 
11 - 26.10.16 - 11:19
(10) как-то же надо их в макет вставить. вводятся они в модуле формы
   Господин ПЖ
 
12 - 26.10.16 - 11:22
(4) модуль формы и данные формы - это 4 разных человека

купи радченко и не дрочи мозг людям
   Господин ПЖ
 
13 - 26.10.16 - 11:25
(3) теплород примерно так же открывали
   kachesov
 
14 - 26.10.16 - 11:41
И всё-таки хотелось бы записать как-то в модуле формы несколько значений в переменную и считать их из модуля объекта.. Не подскажете как?
С одним значением всё выходит, а вот с несколькими беда..
   DDwe
 
15 - 26.10.16 - 11:43
(14) Ничего нет невозможного для человека с интеллектом.
   kachesov
 
16 - 26.10.16 - 11:48
(15) хорошо сказал! жаль не по делу..
   DDwe
 
17 - 26.10.16 - 11:51
(16) Как раз по делу, советов уже надавали, включай мозг и вперед.
   kachesov
 
18 - 26.10.16 - 13:41
(17) Советов надавали? Только один (1). Остальное стёб, троллинг и восхищение моими "знаниями"..
   Cyberhawk
 
19 - 26.10.16 - 13:43
С учетом (5) что еще можно сказать?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует