1с скопировать значения свойств
- скопировать свойства элемента управления во вновь созданный (кодом)
практикуется ли в 1С8 (82 - конкретно) скажем обход всех свойств элемента управления (контрола) с установкой (если не ReadOnly) в копии. Есть ли какая-то коллекция (типа Properties) свойств которую можно обшарить?
- конкретно мне нужно для нескольких колонок результата SQL запроса к внешнему хранилищу, где-то хранить их настройки отображения [и вообще всего]. Колонок возвращается много, (или в разных запросах по разному) я хочу иметь возможность их выводить все
(- тут я вижу всё, что получил (таб.поле Объекты у меня вообще пустое))
, но после этого по умолчанию вывести только те, что имеют настройки.
для этого, скажем, можно бы было создать табличное поле с предопределёнными колонками например
ОбъектыШАБЛОН
- остаётся после
обойти в
все колонки, и выкопировать из него все (записываемые) св-ва в одноимённые колонки
но что-то не могу найти, как не перечисляя тупо в коде все виды св-в
пробежаться по всем настраиваемым свойствам элемента упр-я.
думаю, гуру в состоянии подсказать свой путь (для хранения шаблона св-в колонок/элементов управления (далеко не всех колонок результатов)).
гм. на управляемое намекаете?
не, я толстому клиенту (под 8.2 таки) обработку толстую пишу. (всё одно к внешним данным хожу).
самое забавное - св-ва колонки таки легко передать. кроме предварительно настроенного элемента управления. тот - ридонли св-во.
т.ч. пришлось не выделываться, а честно положить преднастроенные колонки, а избыточные добавлять в цикле сверки колонок ТД и ТП, не выполняя <<СоздатьКолонки();>>, т.е. самому, без онсамбля ( они, лишние колонки - всё одно чисто информативные). (там забавно тоже, присвоив переменной колонки ТП обнаруживаем внутре колонки ТД - т.е. "значения" ТП)
итого - и вместо одной вкладки с изменяемым (под вид объектов) содержимым у меня будет 4-5 - по одной на каждый вид.
кодить (копипастить) чуть дольше - но юзеру тупо нагляднее. Хотя можно наверное и на одной выпилить, но кодить, навскид, много лишнего.
буду рисовать морды (когда и если) - тогда посмотрю.
Программист 1с |
---|
Что пишите то? В чем задача изначально заключается? |
задача - получать внешние данные (быть может изменить (другие, настроечные - влияющие на приём получаемых) внешние данные, на внешнем же хранилище, чтобы потом ровнее получать рабочие. Данные распихать в объекты (документы в основном) 1С.
Программист 1с |
---|
А во вторых после изменения формы под себя пользователь если где-то что-то не так сделал - нажмет кнопку вернуться к первоначальному (вашему). В третьих непонятно - а как вы собираетесь учитывать разрешение экрана. Оно у каждого свое. |
1. старший оператор (и кто за него) - в оперативном режиме - при (и непосредственно перед, в том же акте) выгрузке данных.
2. собственно старший менеджер (и кто за него) - ответственный за связь и синхронность данных (состояние справочников, и док-тов)
кстати, другие и не войдут на сторонний сервер. ибо незачем. А на 1.5-то человека сойдёт и настроенное на почти минимальное разрешение (я в удалёнке дорихтую. чувствуется - сильно поджать формочки по размеру придётся).
да и формочки у меня тягучие. (табличные части настраиваемые).
Программист 1с |
---|
ps Бросайте 8.1 переходите на 8.2 . тут 83 на подлете |
-мне, чтобы не копипастить массово одну форму в 3-х (дальше - больше)экземплярах (с массовой заменой реквизита-ссылки и обращения к Справочник.Ссылка) - вероятно пригодилось бы.
- сейчас буду пробовать (в стиле 8.1) назначить реквизит множественного типа, но работать в полёте только с одним (типом). (не давая ползателю выбора типа). авось получится. (ещё раз стандартную "Групповую обработку. " покурю - посмотрю внимательнее как там с типами обходятся).
- а вот выход из цикла обхода колонок табличного поля при применении метода Удалить() - это известная багофича <. > одноэсины, или только для колонки с именем содержащим "object" наблюдается.
(колонку "Main", вроде легко удалило, один раз, не вываливаясь. но врать не буду - в отладчике один раз всего проследил, больше не получалось. а вот на "object_address"/"object_addresы"/"object_addressы" - стабильно цыкл покидает (и дальше по коду идёт, хотя там неохваченных ещё цыклом колонок - прям в табло видать навалом). этакое недержание цыклов с ней, болезной приключается)
я даже перепугался - думал он вместо колонок ТП в колонки ТЗ лезет, по ассоциации (ну не ясно же, где он по значению, где по ссылке)
-нет, вроде есть метод:
а то я весь в непонятках. может чего в тонкостях цыканья 1с-ом по "для каждого" не понимаю.
ЗЫ вот в отладчике слежу - строго после второго удаления выпадает из цикла. не после первого. (первым удаляло "object_name").
Поменял имена - теперь выскакивает на других колонках. тоже аккурат после второго удаления. (1С:Предприятие 8.2 (8.2.13.202))
но таких пометок в памяти себе оставлять - никакой памяти не хватит.
в следующий раз видимо опять придется отладчиком следить. авось склероз вовремя подскажет.
у меня есть тщедушная надежда, что не часто я на этом дивном ленгвиче пейсать буду.
к тому времени - либо ишак, либо падишах.
а так - да. люблю авторов дивного языка. а уж как мой покойный ишак любил .
простите за недозволенные речи
Вопрос: Подскажите пожалуйста, каким образом можно сделать следующее.
У меня есть выводимый в табличный документ результат запроса, к ячейке есть расшифровка.
Я хочу чтобы при двойном клике на ячейку выполнялась процедура которая к примеру запускает отчет по расшифровке ячейки.
Ответ: Расшифровки бывают стандартные и нестандартные.
I) Стандартные:
может использоваться как непосредственно в табличном документе, так и в объекте ПолеТабличногоДокумента (т.е.табличный документ, размещенный не в отдельном окне, а непосредственно на форме).
Чтобы Расшифровка сработала, должны выполняться 3 условия:
1) Для ячейки табличного документа, из которой мы хотим вызвать Расшифровку, должно быть установлено свойство ПараметрРасшифровки. Например, мы хотим, чтобы по двойному щелчку на ячейке с названием контрагента открывалась форма элемента справочника Контрагента, чтобы можно было уточнить какие-то данные, которые в отчет не выводятся. Задаем свойству ПараметрРасшифровки какое-нибудь значение, например, РасшифровкаКонтрагента.
2)В процессе вывода областей макета в результирующий табличный документ нужно ОБЯЗАТЕЛЬНО ПРИСВОИТЬ параметру расшифровки значение нужного типа, например:
3)Должен быть обеспечен запрет редактирования ячейки с расшифровкой, т.е. нужно указать
ТабДок.ТолькоПросмотр = Истина;
иначе, несмотря на многообещающий вид курсура при наведении на ячейку можно щелкать по ней сколько угодно, но ничего происходить не будет.
II) Нестандартные:
по двойному щелчку на ячейке с расшифровкой можно вызвать свою процедуру. Для реализации этого следует выполнить несколько условий:
1)Вывод табличного документа должен осуществляться в объект ПолеТабличногоДокумента;
2)Должно быть присвоено значение свойству ячейки ПараметрРасшифровки, например, РасшифровкаКонтрагента.
3)Параметру расшифровки РасшифровкаКонтрагента присваивается заполненный при формировании табличного документа нужными значениями СписокЗначений или чаще Структура. В частности, может передаваться имя стандартного отчета конфигурации и параметров, которые нужно задать в форме отчета, например, период дат, номер счета и т.д. А потом этот отчет вызывается как процедура.
4)Для объекта ПолеТабличногоДокумента свойство ТолькоПросмотр нужно установить в значение Истина.
5)Код пользовательской процедуры помещается в процедуру
Приведу небольшой пример, открывающий для "щелкнутого" контрагента подчиненный справочник.
В справочнике Номенклатура выбираем любой элемент, у этого элемента, если есть, выбираем характеристику. У данной характеристики может быть несколько свойств, ссылки ведут к свойству объекта. Как обратится к этим свойствам и где они хранятся, в регистрах найти не мог? Пока остановился
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Как обратится к строке табличной части?
Доброго дня, 1С8.3 Учу 1С 7-ой день. У меня вопрос как мне в управляемой форме обратится к строке.
Отбор по свойству + значение категории в запросе. Как?
Всем доброго времени суток! Подскажите, пожалуйста, необходимо вытащить номенклатуру по.
Как обратится к табличной части документа?
Сделал форму документа там два параметра и табличная часть с 3мя параметрами. Создаю новый.
как правильно обратится к унаследованному свойству объекта в массиве объектов в качестве параметра функции
всем привет подскажите решение такой ситуации попробую описать проблему:допустим есть класс .
Как правильно обратится к свойству RowCount чтобы изменить его значение?
StringGrid1->RowCount ?
Не могу обратится к своему свойству формы TopMost
Доброго времени суток. Мне нужно при задании значения свойства формы TopMost выполнить некоторые.
Как обратиться к свойству объекта в массиве?
у меня есть массив объектов object obj = new object; product audi = new product(45000, "Audi.
Как выполнить поиск в List<> по свойству объекта?
Вот дана задача: Дан массив элементов типа сотрудник (обладает следующими свойствами – фамилия.
Читайте также: