реквизит Объекта (тип ТаблицаЗначений) преобразовывает в тип ДанныеФормыКоллекция
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) ture, ооо приветствую Вас...
переделываю с 8.2 на 8.3, в модуле формы прописана расшифровка из таблицы, заполнение расшифровок этой таблицы в модуле объекта
РасшПериод = тт_пер.Скопировать(); //копирую ТаблицуЗначений тт_пер в РасшПериод
теперь в модуле формы хочу обратится к реквизиту объекта РасшПериод, но он уже ДанныеФормыКоллекция
и методы типа фф=РасшПериод.Найти(Отб.Период); уже не действуют
переделываю с 8.2 на 8.3, в модуле формы прописана расшифровка из таблицы, заполнение расшифровок этой таблицы в модуле объекта
РасшПериод = тт_пер.Скопировать(); //копирую ТаблицуЗначений тт_пер в РасшПериод
теперь в модуле формы хочу обратится к реквизиту объекта РасшПериод, но он уже ДанныеФормыКоллекция
и методы типа фф=РасшПериод.Найти(Отб.Период); уже не действуют
(4) egorover,
Чтобы получить нормальную таблицу значений,
делаем примерно следующее
Чтобы получить нормальную таблицу значений,
делаем примерно следующее
&НаСервере
Процедура ОбработатьТЗ()
ТЗ = ДанныеФормыВЗначение(ИмяРеквизитаТипаТаблицаЗначений, Тип("ТаблицаЗначений"));
// или
ТЗ = РеквизитФормыВЗначение("ИмяРеквизитаТипаТаблицаЗначений");
// вызовем функцию, обрабатывающую/изменяющую нашу ТЗ
Результат = ФункцияОбработатьНашуТЗ(ТЗ);
// и обработанную ТЗ обратно на форму
ЗначениеВРеквизитФормы(Результат, "ИмяРеквизитаТипаТаблицаЗначений");
КонецПроцедуры
Показать
(10) Boneman, Да делаю так ТЗ = ДанныеФормыВЗначение("РасшПериод"), Несоответствие типов (параметр номер '1')
&НаСервере
Процедура ВывестиТЗНаФормуРеквизит()
ТекущаяТаблица = Новый ТаблицаЗначений;
ТекущаяТаблица = РеквизитФормыВЗначение(Объект.Расш);
//ВывестиТЗНаФорму(ТекущаяТаблица);
КонецПроцедуры
Показать
(19) Boneman, реквизит формы, типа "таблицаЗначений" - где путь к данным Объект.Расш?
ТекущаяТаблица = РеквизитФормыВЗначение("ОбъектРасш");// т.е. "ОбъектРасш" реквизит формы, который Объект.Расш
по причине:
Недопустимое значение параметра (параметр номер '1')
ТекущаяТаблица = РеквизитФормыВЗначение("ОбъектРасш");// т.е. "ОбъектРасш" реквизит формы, который Объект.Расш
по причине:
Недопустимое значение параметра (параметр номер '1')
(18) egorover,
покажи скриншот, своих реквизитов формы.
блин, как объяснить то.
Реквизит формы, это - то, что ты видишь на форме, на вкладке реквизита. А вот путь к данным у них может быть как к объекту, так и просто так.
Т.е. и "Объект.Реквизит", и просто добавленный на форму "реквизит" - оба они являются реквизитами формы.
А вот, если будешь программно к объекту обращатся, то там уже будут только реквизиты объекта и все.
покажи скриншот, своих реквизитов формы.
Объекта или Формы?
блин, как объяснить то.
Реквизит формы, это - то, что ты видишь на форме, на вкладке реквизита. А вот путь к данным у них может быть как к объекту, так и просто так.
Т.е. и "Объект.Реквизит", и просто добавленный на форму "реквизит" - оба они являются реквизитами формы.
А вот, если будешь программно к объекту обращатся, то там уже будут только реквизиты объекта и все.
(22) egorover, на твоем скрине я не вижу самого главного, расположения в дереве твоего реквизита.
Если в подчинении "Объект", то куда ты дел точку ?
Вообще не понимаю как можно с таким примитивным синтаксисом не разобраться, оно же все подсказывает, и помогает заполнять.
см.скрин
Если в подчинении "Объект", то куда ты дел точку ?
Вообще не понимаю как можно с таким примитивным синтаксисом не разобраться, оно же все подсказывает, и помогает заполнять.
см.скрин
Прикрепленные файлы:
(23) Boneman, он в подчинении Объекту,
так тоже не работает РеквизитФормыВЗначение("Объект.Расш");
Вообще не понимаю как можно с таким примитивным синтаксисом не разобраться, оно же все подсказывает, и помогает заполнять - сам не понимаю, кстати да, - помогает...
так тоже не работает РеквизитФормыВЗначение("Объект.Расш");
Вообще не понимаю как можно с таким примитивным синтаксисом не разобраться, оно же все подсказывает, и помогает заполнять - сам не понимаю, кстати да, - помогает...
(29) egorover, да при чем тут модуль объекта ?
Полное ощущение что мы на разных языках говорим.
тебе надо делать.
По пунктам
1. Получаем в модуле ФОРМЫ на СЕРВЕРЕ, таблицу значений, из данных формы в объект прикладного типа (таблицу значений), способом как уже разжевано выше.
2. Передаем эту таблицу значений, в процедуру модуля ОБЪЕКТА, и делаем с ней все что нужно
3. Возвращаем результат на ФОРМУ, и в ее модуле, НА СЕРВЕРЕ, передаем ТЗ обратно в данные формы.
в каком именно месте затык ?
Полное ощущение что мы на разных языках говорим.
тебе надо делать.
По пунктам
1. Получаем в модуле ФОРМЫ на СЕРВЕРЕ, таблицу значений, из данных формы в объект прикладного типа (таблицу значений), способом как уже разжевано выше.
2. Передаем эту таблицу значений, в процедуру модуля ОБЪЕКТА, и делаем с ней все что нужно
3. Возвращаем результат на ФОРМУ, и в ее модуле, НА СЕРВЕРЕ, передаем ТЗ обратно в данные формы.
в каком именно месте затык ?
(31) Boneman,
1. таблица значений Расш, реквизит Объекта, своего рода хранилище
2. из ФОРМЫ вызываем функцию модуля ОБЪЕКТА он возвращает (Таб) результатов отчета, и в ней же (функции модуля ОБЪЕКТА ) делаем заполнение таблица значений Расш
3. теперь получили данные (Таб) на ФОРМЕ, но не можем получить таблица значений Расш.
1. таблица значений Расш, реквизит Объекта, своего рода хранилище
2. из ФОРМЫ вызываем функцию модуля ОБЪЕКТА он возвращает (Таб) результатов отчета, и в ней же (функции модуля ОБЪЕКТА ) делаем заполнение таблица значений Расш
3. теперь получили данные (Таб) на ФОРМЕ, но не можем получить таблица значений Расш.
(32) egorover, ты хоть вчитайся что тебе пишут, и как нужно применять методы.
Иван в (30) уже тебе кодом написал, как сделать мои 3 пункта.
Данные формы, в модуле объекта, ты не получишь никогда, потому-что формы там просто нет и не может быть.
Туда ты должен передавать готовые для переваривания объекты.
Изучай мат.часть, чесн. говоря - все что можно было рассказать по этой теме, уже в топике изложено. Я даже затрудняюсь что-либо добавить,
осталось только взять и сделать.
Иван в (30) уже тебе кодом написал, как сделать мои 3 пункта.
Данные формы, в модуле объекта, ты не получишь никогда, потому-что формы там просто нет и не может быть.
Туда ты должен передавать готовые для переваривания объекты.
Изучай мат.часть, чесн. говоря - все что можно было рассказать по этой теме, уже в топике изложено. Я даже затрудняюсь что-либо добавить,
осталось только взять и сделать.
(25) после заполнения в модуле обработки вы не использовали "обратный" метод "ЗначениеВРеквизитФормы(<Значение>, <ИмяРеквизита>)" для реквизита формы "Объект", поэтому "Объект" (коллекция формы) хранит старые значения (незаполненную коллекцию табличной части).
+ (28) точнее надо использовать название переменной объекта, с помощью которой вызывался метод модуля объекта: например,
Процедура Заполнение()
ТзРасш = РеквизитФормыВЗначение("Объект.Расш");
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
ОбработкаОбъект.ЗаполнитьТЧПоТз(ТзРасш);
ЗначениеВРеквизитФормы(ОбработкаОбъект, "Объект");
ТЗ = РеквизитФормыВЗначение("Объект.Расш");
или
ТЗ = обработкаОбъект.Расш.Выгрузить();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот