Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: управляемые формы в УПП 1.3

Добрый день! В конфигураторе создаю обработку с управляемой формой (переключаю флаг на управляемую). В режиме предприятия не открывается никак. Кто сталкивался ? как открыть созданную управляемую форму?
Ответ: +() Классика жанра:

<<К сожалению, это невозможно. Свойство "Использовать управляемые формы в обычном приложении" не влияет на внешние обработки и отчёты. В обычном приложении можно открывать только обычные формы таких объектов, а в управляемом только управляемые. Это ограничение платформы.>>
Вопрос: Вывод дерева значений на управляемую форму

{Форма.Форма.Форма()}: Ошибка при вызове метода контекста (Добавить)
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево);
по причине: Недопустимое значение параметров

ВыборкаПериод = ВыполнениеЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
    // Создание Реквизита формы типа ДанныеФормыДерево

    МассивДобавляемыхРеквизитов = Новый Массив;
    МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Дерево", 
        Новый ОписаниеТипов("ДеревоЗначений")));
    Для Каждого Колонка Из ВыборкаПериод.Колонки Цикл
        МассивДобавляемыхРеквизитов.Добавить(
           Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, "Дерево"));
    КонецЦикла;
    ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);

    // Преобразование объекта прикладного типа ДеревоЗначений 

    // в реквизит управляемой формы (данные формы)

    ЗначениеВРеквизитФормы(ВыборкаПериод, "Дерево");

    // Создание элемента формы типа ТаблицаФормы для отображения дерева

    ЭлементДерево = Элементы.Добавить("Дерево", Тип("ТаблицаФормы"));
    ЭлементДерево.ПутьКДанным = "Дерево";
    ЭлементДерево.Отображение = ОтображениеТаблицы.Дерево;

    Для Каждого Колонка Из ВыборкаПериод.Колонки Цикл
        НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ЭлементДерево);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "Дерево." + Колонка.Имя;
    КонецЦикла;
Ответ: этот кусок кода рабочий, колонки дерева значений с типом данных Дата, Число выводятся на форму
не выводятся колонки с ссылочным типом данных. переделал их в тип Строка через .Наименование в запросе
все-равно ошибку выдает.
в чем может быть дело?
Вопрос: Управляемые формы, а также доп. реквизиты справочника

Здравствуйте!
Я наконец-то начал работать с управляемыми формами, а также доп. реквизитами справочника, которые были введены в режиме предприятие.
1С:Предприятие 8.3 (8.3.8.2054), 1С:Комплексная автоматизация 2 (2.2.3.196).
К сожалению, столкнулся с проблемой и не смог нагуглить её решение.
Суть такова - есть внешняя обработка, в ней пользователь выбирает номенклатуру, после чего другие поля этой обработки должны автоматически заполниться доп. реквизитами этой номенклатуры. Споткнулся в самом начале - пытаюсь запросом получить эти доп. реквизиты.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
&НаКлиенте
Процедура НоменклатураПриИзменении(Элемент)
    
    
    ДопРеквизиты = ЗапросДопРеквизитов(Объект.Номенклатура);
    
КонецПроцедуры
 
 
&НаСервере
Функция ЗапросДопРеквизитов(Номенклатура)
    
    ЗапросДопРеквизитов = Новый Запрос();
    ЗапросДопРеквизитов.Текст = "ВЫБРАТЬ
                                |   НоменклатураДополнительныеРеквизиты.Ссылка,
                                |   НоменклатураДополнительныеРеквизиты.Свойство,
                                |   НоменклатураДополнительныеРеквизиты.Значение,
                                |   НоменклатураДополнительныеРеквизиты.ТекстоваяСтрока
                                |ИЗ
                                |   Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
                                |ГДЕ
                                |   НоменклатураДополнительныеРеквизиты.Ссылка = &Номенклатура";
                                
    ЗапросДопРеквизитов.УстановитьПараметр("Номенклатура",Объект.Номенклатура); 
    
    РезультатЗапросДопРеквизитов = ЗапросДопРеквизитов.Выполнить().Выгрузить();
 
       Возврат РезультатЗапросДопРеквизитов;
 
 
конецфункции

Выдает

"{ВнешняяОбработка.ПечатьЭтикеток.Форма.Форма.Форма(11)}: Ошибка при вызове метода контекста (ЗапросДопРеквизитов)
ДопРеквизиты = ЗапросДопРеквизитов(Объект.Номенклатура);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'"



Пожалуйста, помогите!

Добавлено через 9 минут
В 28 строке "Возврат РезультатЗапросДопРеквизитов;" возвращается таблица значений. Пробую на клиенте обозначить переменную "ДопРеквизиты" как "Новый ТаблицаЗначений" - программа ругается, что не знает, что такое "ТаблицаЗначений". Пробую менять контекст с "НаКлиенте" на "НаСервере" - тогда уже не ругается, но и отладчик перестает работать.
Ответ: Спасибо за ответ!

Разместите на форме табличную часть аналогичной структуры
Но зачем пользователю эта табличная часть? Только лишнее нагромождение формы обработки.

Добавлено через 6 минут
Попробую просто создать таб. часть обработки (без вынесения её на форму) и в неё загрузить результат.

Так и получилось! Спасибо!
Вопрос: Обновление управляемой формы обработки

Здравствуйте!

Из управляемой формы внешней обработки передаю управление в модуль объекта, там изменяю табличную часть обработки (добавляю строки). После возвращения в форму табличная часть не изменилась (пуста).

Перерыл весь интернет, везде говорят, что нужно писать ЭтаФорма.Прочитать(). Но у моей формы нет такого метода. Более того, смотрим СП, статью УправляемаяФорма: в методах нет Прочитать().

Сломал все мозги, обращаюсь к форумчанам за помощью: как отобразить изменения в ТЧ?
Ответ: () в типовых для такого в форме есть "ОбработкаОповещения" где для события срабатывает ЭтаФорма.Прочитать();
И это позволяет извне после изменения данных делать "Оповестить"
Вопрос: Работа с ТаблицейЗначений в управляемой форме

День добрый. ТаблицаЗначений меня не перестаёт удивлять. Вот собственно вопрос: создаю внешнюю обработку(управляемая форма). Создаю реквизит "ТЗ" с типом "ТаблицаЗначений". И перетаскиваю его на форму. Далее в модуле формы, пишу "ТЗ."и после точки в списке выпадающем списке не вижу свойство "Колонки". Далее, создаю программно :
1C
1
ТЗ = Новый ТаблицаЗначений;
и пишу "ТЗ."и в выпадающем списке есть свойство "Колонки". Вопрос-почему????????
Ответ:
Сообщение от Briolin
А 1с надо сделать что бы прям в конфигураторе было написано что у реквизита на форме тип данных ДанныеФормыКоллекция!
Тогда будет не понятно в какой прикладной объект это можно перевести
Вопрос: [РЕШЕНО] Проверка установки флажка (тип "булево") на управляемой форме

Уважаемые эксперты, прошу помощи!
Управляемая форма. В зависимости от установки флажка "ТребуетсяУказатьКонкретныеДаты" становятся видимыми/невидимыми соответствующие реквизиты. Всё работает.
Вопрос в том, что при снятии этого флажка в уже записанном документе надо очистить эти реквизиты (которые становятся невидимыми), если они были заполнены.
Написал так:
Код:
&НаКлиенте
Процедура ТребуетсяУказатьКонкретныеДатыПриИзменении(Элемент)
    Если НЕ Элементы.ТребуетсяУказатьКонкретныеДаты Тогда
        Элементы.СрокГарантииНач = '00010101000000';
        Элементы.СрокГарантииКон = '00010101000000';
        Элементы.СрокДействияЛицензии = '00010101000000';
    КонецЕсли;
    УстановитьВидимостьДатГарантийногоСрока();
КонецПроцедуры
ругается на "преобразование в булево"

Если так:
Код:
Если НЕ ЗначениеЗаполнено(Элементы.ТребуетсяУказатьКонкретныеДаты) Тогда 
ругается на мутабельное значение.

Как же надо проверить, что флажок снят?
Спасибо.
Ответ:
Действительно. Спасибо!
Вопрос: При закрытии управляемой формы справочника пишу в регистр сведений,

При закрытии управляемой формы справочника пишу в регистр сведений,
если запись справочника создается новая ,то ошибка, объект справочника еще не создан. не пойму как дожидаться создания объекта справочника.
Ведь итак вызываю при закрытии формы справочника?

&НаСервере
Процедура ПриЗакрытииНаСервере()
    
            Набор=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
            Набор.Отбор.Объект.Установить(тек_.Объект);
            Набор.Отбор.Тип.Установить(тек_.тип);
            Набор.Отбор.Вид.Установить(тек_.вид);
Ответ: () Возможно, в его реализации это лишнее. () Думаю, он не корректно выразился. Имелось ввиду модифицированные данные. У делал что-то подобное, когда вводил интернационализацию, хранение строк реквизитов с английскими/испанскими и прочими наименованиями. Чтобы под каждый язык не делать реквизит к объекту вынес все в регистр. А запись производилась параллельно с записью любого справочника, как-то так.
Вопрос: Структура элементов на управляемой форме. Как найти нужный элемент без перебора элементов?

Нужно найти табличное поле на управляемой форме. Делаю это перебором всех элементов формы. Может быть есть какой-то иной способ найти нужный элемент управляемой формы?
Пример поиска перебором:
//*****

ФлНашлиТабличнуюЧасть = Ложь;
        Для Каждого Эл  Из _ЭтаФорма.Элементы Цикл
            Если ТипЗнч(Эл) <>  Тип("ТаблицаФормы")  Тогда
                Продолжить;
            КонецЕсли;    
            Если Эл.ПутьКДанным = "Объект." + _ИмяТабличнойЧасти Тогда
                ФлНашлиТабличнуюЧасть = Истина;
                Прервать;
            КонецЕсли;    
        КонецЦикла;

//*****
Ответ: () Я так понял, что автору нужен первый попавшийся элемент формы, который ссылается на нужный реквизит.
Вопрос: Управляемая форма (доступность элементов)

На Базе УТэшки 10.3.40.1 платформа 8.3.9.2033 делаю форму подбора товара в веб-е. Создал новую роль, для неё начал открывать доступ к объектам постепенно. Все было хорошо, пока не дошел до справочника Значения свойств объектов. Понятно что в 10 нет управляемых форм, все генерируются в процессе, но если форма выбора тех же "Свойств объектов" нормально создается, то форма выбора "Значений свойств объектов" создается с неактивными элементами... И что я только не пробовал - права на чтение, на просмотр и справочнику и ПлануВидовХарактеристик.СвойстваОбъектов... ничего не помогает. Куда рыть? Вариант сделать отдельную форму и все там прописать можно не предлагать, его я оставил на случай если причина так и не выяснится.
Ответ: Может доступность устанавливается в самой форме по какому-то условию?
Вопрос: Авторасчет Суммы при изменении Цены и Количества в управляемой форме

Так толком и не разобралась с этими, мать его, управляемыми формами.

Вот хочу сделать простую вещь - на форме документа организовать самозаполняемую сумму. Естественно, дёргаю два события - ПриИзменении для Цены и то же для Количества.

Процедуры создаются на клиенте(что это значит?..). Создались. Но теперь ни под каким видом я не могу обратиться к элементам формы... В чём смысл этого Клиент-Сервера? Для чего оно? И что значит?

Заранее спасибо!
Ответ:
Сообщение от Тамика
А почему форма не выполняется на клиенте?
что значит "форма не выполняется" ? ))
открылась ? открылась. значит с этой точки зрения - выполнила то, что от неё просили.
не показывает то, что надо ? не показывает - значит плохо просите. Модератор же написала, как и чо написать там.
Сообщение от Тамика
Разве это сервер?..
мммм, чо?