Декомпиляция элементов формы для 8.2 для обычных форм (не управляемых).

28.11.11

Разработка - Инструментарий разработчика

Декомпиляция отдельных элементов формы и самой формы в общем, для формирования кода для динамического вывода реквизитов.

Скачать файлы

Наименование Файл Версия Размер
ДекомпиляцияЭлементовФормы.epf
.epf 28,16Kb
445
.epf 28,16Kb 445 Скачать

Обработка предназначена для динамического формирования реквизитов при следующем алгоритме:

  1. Сначала выполняются работа по техническому заданию, реквизиты добавляются на форму.
  2. После принятия работ, с помощью данной обработки в режиме предприятия считывается код добавленных реквизитов, он добавляется в общий модуль или модуль формы.
  3. Добавленные реквизиты удаляются с формы, теперь они формируются из кода.

Обработка сделана на основе данной: //infostart.ru/public/22147/, но имеет следующие отличия:

  1. Та обработка универсальна, данная же направлена на реализацию четко одной задачи, то есть подогнана по нее.
  2. Моя разработка работает гораздо быстрее.
  3. Декомпиляция производится только нужных элементов, а не всех, и потому не нужно выискивать нужные в итогом текстовом файле.
  4. Моя разработка выполнена на 8.2, предыдущая же на 8.1, что сейчас приводит к немного неверному формированию ее. Например в коде реализовано отсекание вывода свойств реквизитов, значение которых идентично стандартному. То есть у поля ввода есть свойство "АвтоКонтекстноеМеню", значение по умолчанию которого равно Истина, и если оно так и осталось равно Истина, то выводить его смысла нет. Но в 8.1 при проверке булевского реквизита возращалось строка "Истина", в 8.2 же возвращается "Да",поэтому в той обработке выводятся абсолютно все реквизиты.
  5. Перестроена логика, улучшена юзабилити.

Описание разработки: В левом дерево у метаданного выбирается нужная для декомпиляции форма, при этом в правом дереве формируется дерево элементов формы. При нажатии на галочки в правом дереве в табличном форме формируется код для для вывода элемента программно. Если нужно декомпилировать все элементы, то нажимается кнопка в нижней панели "Декомпилировать всю форму". Левое и правое дерево можно сдвигать, чтобы пространство для кода увеличивалось.

Вместо кода с присвоением длины, ширины, лево, вверх, выводится процедура " УстановитьПоложениеЭлемента(Надпись,25,19,322,103);", ее необходимо вставить в модуль с кодом вывода элементов формы, ну или поместить в общий модуль.


Процедура УстановитьПоложениеЭлемента(Элемент,Верх,Высота,Лево,Ширина)

   
Элемент.Верх = Верх;

   
Элемент.Высота = Высота;

   
Элемент.Лево = Лево;

   
Элемент.Ширина = Ширина;

КонецПроцедуры

Сделано, чтобы выводить меньшее количесто строк.

 

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122091    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7280    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3519    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177733    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99343    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18106    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28104    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23599    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. Istur 1472 28.11.11 10:18 Сейчас в теме
Декомпиляция отдельных элементов формы и самой формы в общем, для формирования кода для динамического вывода реквизитов.

Перейти к публикации

1. German 413 28.11.11 10:18 Сейчас в теме
Что с определением цветов и шрифтов из стиля? :)
Знаю только одну обработку в которой это реализовано.
2. Istur 1472 28.11.11 10:44 Сейчас в теме
(1) Нет, не реализовано. Мне пока это не нужно.
3. Поручик 4670 28.11.11 11:00 Сейчас в теме
(2) Добавь в описание, только для обычных форм.
4. Istur 1472 28.11.11 11:04 Сейчас в теме
5. ValeriTim 20 28.11.11 11:24 Сейчас в теме
(1) какая обработка это делает ?
6. German 413 28.11.11 11:33 Сейчас в теме
(5) Ei полное (ВЫПОЛНЯЕМОЕ) перобразование, позволяющее скопировать форму
7. vasiliy_b 284 29.11.11 09:51 Сейчас в теме
Да, такую бы обработку для управляемых форм!
44. Sverkalov 134 28.12.11 22:09 Сейчас в теме
45. AlexO 135 24.01.12 02:23 Сейчас в теме
(44) что-то сомнительно... в тонком же это невозможно в принципе - так откуда "для управляемых форм"??
46. vasiliy_b 284 24.01.12 09:04 Сейчас в теме
(45) Почему же невозможно? Программно добавлять элементы на форму можно?! Обходить все элементы формы можно?! так почему же это нереально?
47. AlexO 135 25.01.12 01:32 Сейчас в теме
(46) в УП нельзя. УФ формируются динамически, поэтому программно ничего добавить нельзя.
Только если в режиме толстого клиента.
48. vasiliy_b 284 25.01.12 09:10 Сейчас в теме
(47) AlexO, А как же тогда реализован вывод реквизитов свойств объектов на формы? В типовых конфигурациях в управляемых формах? Прежде чем говорить посмотрите сначала УТ 11 например, в справочник номенклатур добавьте пару свойств.... и о чудо дядьки из 1с прибегут и добавят вам эти реквизиты к объекту, чтоб они динамически сформировались.... а потом еще будут прибегать когда вы будете обновления накатывать.
51. AlexO 135 29.01.12 15:17 Сейчас в теме
(48) да, ошибся, извините.
Думал, только невизуальные реквизиты можно.
Посмотрел, добавлять можно, но что-то все через ж.. происходит с результатом..
60. AlexO 135 31.03.12 14:59 Сейчас в теме
(48) vasiliy_b,
в справочник номенклатур добавьте пару свойств.... и о чудо дядьки из 1с прибегут и добавят вам эти реквизиты к объекту, чтоб они динамически сформировались....

ну и где же динамически добавленные "реквизиты"? уж не хранятся ли они в строго ограниченных регистрах свойств объектов?
вы или ваши дядьки из 1с сделате так, чтобы "программно созданный" реквизит хранил данные, а не просто использовался для подстановки предопределенных значений??
49. Yasen 490 25.01.12 12:48 Сейчас в теме
(47) AlexO,
программно ничего добавить нельзя

Откуда такие сведения если не секрет? Религия не позволяет или Нуралиев запретил?
8. alekseineputin 25 29.11.11 09:59 Сейчас в теме
Всё здорово, помогает экономить время на динамическом добавлении элементов в форму.
Плюс однозначно ;)
9. Поручик 4670 29.11.11 10:09 Сейчас в теме
(8) Нет, всё это знать не обязательно. Для этих целей есть СП, мануалы, шаблоны кода. Главное знать что искать и как искать.
AlexO; Andry.Boris; +2 Ответить
10. alekseineputin 25 29.11.11 10:39 Сейчас в теме
(9) Ладно, не нападай :) От шаблонов кода очень часто остаются куски причудливой формы :D Или я после НЕ тех программистов работал ;)
58. AlexO 135 30.03.12 18:11 Сейчас в теме
(8) mamanelli,
ведь нормальный кодер должен знать это "на кончиках пальцев"

ждем статью, где все, что надо будет знать программисту "на кончиках пальцев", будет описано и выложено в коде, набранном именно таким же методом - без справки по памяти ))
115. tchvlad 27.08.12 15:37 Сейчас в теме
(8) mamanelli,

Уважаемый не полно оценил :)

Какие еще кончики пальцев? Тупо кодить массу текста, когда можно автоматизировать?
Я использую аналоги этой разработки - мои кончики пальцев и так не знают отдыха, многое умеют, а потому жирный плюс.
11. woozee 48 29.11.11 11:52 Сейчас в теме
Понять не могу для чего она =) И чем полезна она будет))
12. Istur 1472 29.11.11 12:09 Сейчас в теме
(11)Мне кажется в описании все написано. Ну а если другими словами, то обработка, чтобы добавленные программистом реквизиты, колонки, кнопки в типовых конфигурациях выводить программно, дабы при обновлении все это не затерлось, да и просто чтобы процесс обновления был быстрее и менее сложен.
13. woozee 48 29.11.11 14:43 Сейчас в теме
Да? Есть одна формочка стандартная суперпеределанная.... Надо проверить... Но суть не в этом) Идея (в моем случае) понравилась.
А привязки по форме в обычной форме тоже программно описывает?:)
14. Istur 1472 29.11.11 14:44 Сейчас в теме
(13) Да, привязки описывает. Это одно из самых важных, как же без них)
15. Yasen 490 29.11.11 15:12 Сейчас в теме
Спасибо, плюс.
Ждем когда управляемые формы достигнут подобного уровня программизма )
16. woozee 48 29.11.11 16:11 Сейчас в теме
Не работает) Минус) В единственной сложной форме и то не пригодился))
1Ска виснет, нагрузка на комп возрастает до максимума, через продолжительное время вылетает.
Проблема в 573 строчке (Цикл) - то есть "зацикливание".

Ждем фикс) Или уже не ждем))
17. Istur 1472 29.11.11 16:15 Сейчас в теме
(16) У меня не возникало подобное.. А какие значения в "СтрИсточник" в зацикливаемой строке? И что за форма?
18. woozee 48 29.11.11 16:46 Сейчас в теме
Бухгалтерия 2.0.29 СписниеСРасчетногоСчета.ФормаДокумента В СтрИсточник строка дерева =) Они там меняются эти деревья) Значения вроде адекватные, а что так долго - я не знаю. но в замере производительности оно зацикливается.
Форма Переделана в плане того что добавлена панелька с добавочной страницей, на эту панельку перенесена основная панелька, та самая с кучей страниц. Ну и пара полей добавлено )) Ну как то так)))
37. AlexO 135 06.12.11 22:14 Сейчас в теме
слушай, Истур, а это ведь ты натолкнул меня на мысль со своей идеей дискретно декомпилировать.. хотя и так вроде было на поверхности, а вот поди ж ты... ))
надоть тебе плюсик за это поставить...
Так проблема из (18) поправлена?
если можно, пришли исправленный вариант по личке... а то тут с этими ограничениями замучаешься качать...
39. woozee 48 07.12.11 09:06 Сейчас в теме
(37) AlexO, странно, муза под конец рабочего дня приходит =)
19. AlexO 135 30.11.11 01:34 Сейчас в теме
все делается намного проще.
копируется форма и меняется все что нужно, подключается паровозом к оснвоной.
а программно создавать - в любом случае никакие обработки не помогут.
Вообще, создание программно чего-либо и 1с - вещи несовместимые и чреваты ошибками и лажей.
Ну не предполагало 1с так делать, не предполагало....
Craig; 1cbit_tomsk; Redhatych; +3 1 Ответить
21. woozee 48 30.11.11 09:19 Сейчас в теме
(19) AlexO,
Идея программно добавлять нестандартные элементы намного проще чем постоянно отслеживать изменения в элементах формы. Что я и взял на вооружение. Правда перерисовывать то что у нас с этой формой - не представляю даже себе КАК))) Вернее... лениво даже представлять)
На счет паровозом к основной - Если документ не ахти какой, очень редко обновляется - то да, в какой то степени возможно. Дело в том что в этом случае сложно отслеживать изменения и гораздо чаще будут вылетать ошибки после обновления.
Самым правильным будет просто переносить свои кнопочки, поля и т.д. Ну и что, что это может занять продолжительное время - зато практически не возникают ошибок)
suggestive; CratosX; Istur; +3 Ответить
22. Istur 1472 30.11.11 12:41 Сейчас в теме
(21) +1

(20)
Вообще, создание программно чего-либо и 1с - вещи несовместимые и чреваты ошибками и лажей.
Ну не предполагало 1с так делать, не предполагало....


Да ты что) А у меня проект, где все добавленные реквизиты выводятся программно, благополучно уже сдан и работает.

а программно создавать - в любом случае никакие обработки не помогут.

Ну во-первых цель обработки не сделать вместо программиста, а облегчить, точнее ускорить добавление. Нужно понимание как программно выводить, тогда поможет.

все делается намного проще.
копируется форма и меняется все что нужно, подключается паровозом к оснвоной.


Проще? Неожиданно) Это по сути значит, что форма будет отключена от обновлений, то есть само действие не имеет никакого смысла. Это тоже самое, что при обновлении у формы снимать флажок обновления. И рано или поздно возникнут проблемы, потому что что-либо добавлять нужно обычно в часто используемых объектах метаданных, обновления для которых приходят если не каждый релиз, то через релиз.
23. woozee 48 30.11.11 14:49 Сейчас в теме
(22) Мне можно надеятся на испралвение ошибки "зацикливания", или забить?:)
24. Istur 1472 30.11.11 14:59 Сейчас в теме
(23) Да, исправлю. Единственное сейчас запар некоторый на работе, но до конца недели точно время найду.
26. AlexO 135 30.11.11 23:43 Сейчас в теме
(22) собственно, в (25) вам ответили. Там как один из вариантов подключения допформы.
Основная форма остается для обновлений, где-то (можно перед открытием основной формы - при обновлении обновлять спокойно с закрытыми глазами, только потом вставить строчку обратно переключения-ответвления на допформу) вставляется переключатель, допформа один-в-один с основной+изменения, какие надо было внести.
Пользователь открывает как обычно, получает "родную" по внешнему виду форму с доработкой, старая остается нетронутой и лежит, ждет последующих обновлений.
Допформу, кстати, не обязательно пихать в документ, а оставить отдельной обработкой в конфе (и затираться она не будет), а подключать её именно как форму, с сохранением всех остальных событий и процедур родного документа.
(25) такое может потребоваться как раз там, где нужно и обновления ставить "неглядя", и все-таки внести изменения в "типовую" форму. Т.е. совместить несовместимое.
Что и удается.
(22) а все программно выводимые реквизиты... механизм отслеживания изменений - отсутствует (кроме визуального восприятия), механизм проверки и контроля создаваемых программно элементов - отсутствует, набор инструментов для создания таких якобы "программных" элементов (на самом деле - это создание куцых "вроде поля"-элементов, как и все полууправляемые или совсем неуправляемые ЭУ в 1С) - отсутствует.
В конце концов, будет куча кода, который рухнет под собственной тяжестью.
"сдал проект".. Сдать - полдела, еще и сопровождать это надо. А от этого, я так понимаю, вы самоустранились.
Прекрасно понимая, что снова разгребать кучу кода от "программно создаваемых элементов" - занятие не для слабонервных.
27. o.nikolaev 211 01.12.11 07:14 Сейчас в теме
(26)
Ну видимо как-то так, да - "совместить несовместимое". И склоняюсь к тому что эту стратегию можно рекомендовать для применения как раз в таком случае - "впихнуть невпихуемое", а в случае когда есть возможность создать доп. формы (обработки с дин. списками и etc.) все же следует создавать объекты, используя префиксы, общие модули и т.п.
---
Мнение мое и не обязательно правильное.
30. i132 122 01.12.11 17:05 Сейчас в теме
(26) Идея: для обновлений оставить Основную форму (без визуальных изменений) а добавленные реквизиты хранить на форме _дополнительные - и добавлять при открытии обходом всех элементов этой формы.
:удобно тем что видно на глаз новые реквизиты и легко изменить их положение.
36. AlexO 135 06.12.11 22:09 Сейчас в теме
хотя у меня есть идея, где все это "программное" чудо пригодится... как раз для "чистого" творчества нужно...
только боюсь, даже в условиях ограниченных требованиях, которые я предъявлю, программное формирование элементов от 1С не выйдет из своих жестких рамок..
А декомпилировать всю форму со всеми элементами из=за обновлений, чтобы добавить один-два новых элементов на форму..
А почему никто не попробовал сделать как предложено в (30) - добавлять только нужные, и привязками/размещением играть?
хотя сами элементы могут сместится на новой форме.... а это уже никак не отследишь программно - или писать целый механизм сравнений и корректировок..
короче, я вам способ подсказал, но можете все делать программно ))
а я попробую в том механизме, где это действительно нужно и очень важно...
57. AlexO 135 30.03.12 18:08 Сейчас в теме
(22)
Да ты что) А у меня проект, где все добавленные реквизиты выводятся программно, благополучно уже сдан и работает.

ну, и как обновляете модуль формы со всеми процедурами обработки таким образом созданных элементов?
20. пользователь 30.11.11 04:44
Сообщение было скрыто модератором.
...
25. o.nikolaev 211 30.11.11 22:03 Сейчас в теме
Вот все-таки, для чего это может пригодиться? Неужели нельзя обойтись без генерации кучи кода? Что касается форм объектов - ну это понятно - создаются создаются доп. формы журналов (списков) в них отлавливается "ПриВыборе" и открывается "своя" форма объекта. Какая ситуация может потребовать использования такого подхода при доработке типовой конфигурации с возможностью сохранения обновлений?
28. vkr 01.12.11 07:39 Сейчас в теме
По-моему, предложенный автором метод - прекрасный вариант компромисса для вечно загруженного 1С-программера ! :)
Лично я обязательно начну постепенно использовать - задолбало каждый раз свои "кнопки" перегонять в новый билд...
31. AlexO 135 01.12.11 22:48 Сейчас в теме
(28) vkr,
как раз нисколько не прекрсаный, вам предложен более простой и надежный, а главное - сопровождаемый метод.
Не понимаете - так и скажите.
(29) woozee,
>> Чем хороша данная обработка - посидел, потыкал кнопки, скопировал код, описал красиво комментариями и забыл до УФ))
С сопровождением кода проблем не будет никаких. Проблемы возникают только у тех фирм которые сопровождаются у фирм-франчайзи которые имеют штат неопытных сотрудников, либо фирм которые наняли "сопроводителя" "подешевле".
- ну что ж, остается вам пожелать получить срочное задание по доработке/исправлению вот после такого же программиста "а че тут непонятно, если не можешь разобрать программно <мной> созданные формы - ты дурак".
А 1С специально сделана, чтобы путать всех и вся. И не надейтесь, что вас кто-то пожалеет и будет писать "как вам удобно/известно". 1с-ники - в большинстве народ малограмотный.
32. woozee 48 02.12.11 09:23 Сейчас в теме
(31) AlexO,
>> "а че тут непонятно, если не можешь разобрать программно <мной> созданные формы - ты дурак"

Самое интересное что есть доля правды))) Дело в том что есть некий стандарт разработки, предложения от 1С. Все эти материалы находятся на диске ИТС. Если хотя бы о них догадываться и если еще немного и почитывать, то разбираться в стандартных конфигурациях, и в коде тех программистов которые хотя бы примерно им придерживаются - проблем особых не возникает))

......
//Программист =========
  ДобавитьПрограммноЭлементыФормы();
//Программист =========
......

//Программист =========
Процедура ДобавитьПрограммноЭлементыФормы()

  //Поле ввода и Надпись ФизЛица
  ......

  //Поле ввода и Надпись Договора
  ......

КонецПроцедуры
//Программист =========
Показать


Чего сложного?:)

(30) Дело в том что бывает добавлена страница в панельке без отображения заголовков этих страниц. Либо забываешь привязать процедурку к стандартному реквизиту, например, ПриИзменении... ПриВыборе
CratosX; vkr; +2 Ответить
33. AlexO 135 02.12.11 22:27 Сейчас в теме
(32) woozee,
1с сама же и нарушает везде и свюду свои "правила".
потому у 1с главное правило - никаких правил...
34. vkr 05.12.11 08:21 Сейчас в теме
(31),(33) Вот уж никогда не придерживался "стандартов разработки" от 1С...
Могу посоветовать Вам прочесть прекрасную книгу :
Мифический человеко-месяц или Как создаются программные системы
(The mythical Man-Month: Essays on Software Engineering)
Автор: Фредерик П. Брукс
Издание 1975 или 2010 г.
Надеюсь, она Вам будет полезна...
35. AlexO 135 06.12.11 21:51 Сейчас в теме
(28) vkr,
а и не перегоняйте, сделайте, как я советую в (26) ))
и просто, и обновлять больше не надо.. разве что изменится сама "родная" форма-родитель, и вам захочется сделать "потомка" снова на неё похожим..
(30) i132,
что за форма "Дополнительные"? предлагаете создать новую форму, хранить на ней некие новые реквизиты, потом программно считывать их оттуда и вставлять программно же на старую форму?
а зачем вся эта длиннющая цепочка? а если "порвется" где-нить - как отследите, что перестало работать?
(34) vkr,
теория программирования, теории обработки БД, хранения данных, и 1с - несовместимы ))
это уже известно давно с выходом снежка...
(0) рано или поздно возникнут проблемы как в (18), т.к всегда "остаются куски причудливой формы", все эти программные изыски неуниверсальны в силу уже указанной причины - ребята, это не Си, а 1С, которая плевать хотела на все правила, стандарты и развитие программирования, а с выходом 8.2 - и вообще плевать на программиста..
38. vkr 07.12.11 08:39 Сейчас в теме
(35) Да, я с Вами согласен по поводу идеологической несовместимости 1С с нормальными принципами...
Хотя, по мере возможности, борюсь у себя с этой проблемой (пусть даже за счет некоторых потерь сил и нервов).
Спасибо за диалог! :)
40. AlexO 135 07.12.11 22:48 Сейчас в теме
(38) vkr,
с 1с бороться бесоплезно ))
примените стиль айкидо - уйти с линии удара и пусть валится...а как упадет - можно диктовать свои условия.. ))
(39) woozee,
что-то путное на 1с можно изобрести только абстрагировавшись от 1с ))
43. vkr 12.12.11 08:21 Сейчас в теме
(40) Спасибо, Вы очень точно сформулировали методику взаимоотношений с 1С... :)
Буду теперь знать, как это называется...
Только на диктовку им условий мне начхать - я работаю по-своему, клиенты довольны - это главное...
82. AlexO 135 27.04.12 02:19 Сейчас в теме
(28) vkr, (29) woozee,
вот и прошел мой пример испытание временем ))
Попробуйте программно создать вкладку, ТП на ней, компанель к ней.... на последнем пункте все и рушится.
Нельзя создать такую панель.
А работает единственный мой способ с подменой формы.
Так что программное создание элементов, мягко говоря, оченьо узкое и специализированное занятие.
(22)
Да ты что) А у меня проект, где все добавленные реквизиты выводятся программно, благополучно уже сдан и работает.

значит, ничего серьезного не делали программно ))
Вот даже элементарную стандартную панель нельзя сделать ))

Upd:
Ниже разобрались, что можно сделать создание КП через общий модуль (но не глобальный), заработало автозаполнение (почему не работало - причина осталась неясна), и без хранения исходной КП с кнопками на родительской форме.
83. bambr1975 877 27.04.12 10:00 Сейчас в теме
(82) AlexO, честно говоря, Вы производите впечатление человека неглупого, но какого-то ни во что не верящего и ужасно невнимательного.
Специально для Вас смоделирована ситуация с программным добавлением табличного поля и автозаполнением связанной с ним командной панели.
P.S. Ограничения в программном добавлении элементов на форму безусловно есть - но и ручную обработку поступающей информации тоже никто не отменял - просто можно же себе жизнь упростить...
Прикрепленные файлы:
ВнешняяОбработка1.epf
84. AlexO 135 27.04.12 17:42 Сейчас в теме
(83) именно это и пробовал - и в модуле формы, и в общем модуле:
     КоманднаяПанель = ЭлементыФормы.КоманднаяПанель2;
     КоманднаяПанель.ИсточникДействий = ЭлементыФормы.ТабличноеПоле1;
	 КоманднаяПанель.Автозаполнение=Истина;

- не работает...
Сейчас вообще ругается - "Перменная не определена: ГраницаЭлементаУправления".
В общем, веселая у меня база...
85. bambr1975 877 27.04.12 17:50 Сейчас в теме
(84) AlexO, источник действий - существующий реквизит формы (он у Вас существует? Проверьте!)
ГраницаЭлементаУправления - системное перечисление. Доступно в толстом клиенте. Вы в толстом клиенте работаете?
Короче - разобраться можно... Если понимать, зачем Вам это...
86. AlexO 135 27.04.12 17:59 Сейчас в теме
(85) bambr1975,
источник действий - существующий реквизит формы

мы же его (ТабличноеПоле) полностью программно создаем? или все-таки должно быть уже в реквизитах формы - реквизит табличное поле?
. Доступно в толстом клиенте

я знаю, что это системное перечисление. Как и "ТипКнопкиКоманднойПанели".
Все работало, а потом - раз, и "не видит" перечислений...
Работаю конечно в толстом. Все уже проверил (сама думал - вдруг слетело).
87. AlexO 135 27.04.12 18:04 Сейчас в теме
(83) bambr1975,
вот, кстати, мой идентичный неработающий код:
	КоманднаяПанель = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"),"кпПроект",Истина,ЭлементыФормы.Панель1);
	УстановитьПоложениеЭлемента(КоманднаяПанель,10,25,6,380);
	КоманднаяПанель.ИсточникДействий = ЭлементыФормы.тпМенеджеры;
	КоманднаяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Низ,КоманднаяПанель,ГраницаЭлементаУправления.Верх);
	КоманднаяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭтаФорма.Панель,ГраницаЭлементаУправления.Право);
	КоманднаяПанель.АвтоЗаполнение = Истина;

тпМенеджеры - до этого программно созданное ТП.
29. woozee 48 01.12.11 09:45 Сейчас в теме
Спорить можно бесконечно))
Всем известно что для решения задачи присутствует разновсяческое множество вариантов. От кривых до идеально правильных, оптимизированных и прям супер-пупер...
Для проектирования своего нововведения или "хотелок" пользователей нужно учитывать не только легкость обновлений, быстродействие, но и самым важным будет удобство пользователей в работе с энтим инструментом)) При этом учитывать эргономичность формы, и не потерять производительность работы.
Чем хороша данная обработка - посидел, потыкал кнопки, скопировал код, описал красиво комментариями и забыл до УФ))
С сопровождением кода проблем не будет никаких. Проблемы возникают только у тех фирм которые сопровождаются у фирм-франчайзи которые имеют штат неопытных сотрудников, либо фирм которые наняли "сопроводителя" "подешевле". Но это другая история))
41. пользователь 09.12.11 17:00
Сообщение было скрыто модератором.
...
42. echo77 1868 10.12.11 13:45 Сейчас в теме
При добавлении колонки в ТабличноеПоле метод УстановитьДействие не прокатывает :-/

Было бы неплохо накидать справку в обработке, подобную той что вы здесь привели
50. vasiliy_b 284 27.01.12 10:51 Сейчас в теме
Ошибка: Берем ТЧ документа, добавляем новый реквизит(я добавлял типа число (15,3)) далее выводим эту колонку на форму привязываем событие "ПриИзменении", и добавляем изменение цвета при выводе строки.
Декомпилируем эту колонку и получаем следующие ошибки:
Было:
Колонка.УстановитьДействие("ПриИзменении",Новый Действие("Товары_БруттоПриИзменении"));

Надо
Колонка.ЭлементУправления.УстановитьДействие("ПриИзменении",Новый Действие("Товары_БруттоПриИзменении"));

...

Было
Колонка.ЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(15,3));
Это не нужно, ругается т.к. тип уже назначен. И еще нужно добавить:
Колонка.Имя = "_Брутто"
Иначе имя колонки добавляет "Колонка1"
52. amiralnar 9 02.02.12 16:31 Сейчас в теме
Отличная обработка, спасибо! Пол года о ней мечтал. Ну теперь - держись, УПП =)
53. amiralnar 9 08.02.12 17:02 Сейчас в теме
Есть проблема:

Для декомпиляции выбираю форму реализации товаров и услуг.
При работе через терминал (возможно это важно) подвисает на процедуре ДеревоЭлементовФормыПриПолученииДанных(Элемент, ОформленияСтрок)
За 5 секунд успевает выполнить эту процедуру 85 000 раз.

Пока отключаю процедуру и ориентируюсь по пустым строкам.

Можно ли при построении дерева сразу указать представление ячеек?
54. bambr1975 877 08.02.12 21:26 Сейчас в теме
(0),(53) - алгоритм этой обработки очень пригодился в написании главного алгоритма публикации http://infostart.ru/public/106310/
поэтому, рискну здесь привести свои корректировки процедуры модуля обработки СформироватьДеревоСЭлементамиФормы :

Для каждого СтрДерева Из МассивСтрок Цикл
Панель = СтрДерева.Элемент;
ИмяПанели = Панель.Имя;
Для каждого СтраницаПанели Из Панель.Страницы Цикл
пФормаКопия.ЭлементыФормы[ИмяПанели].УстановитьДействие("ПриСменеСтраницы", Неопределено);
пФормаКопия.ЭлементыФормы[ИмяПанели].Страницы.Удалить(0);
Для каждого Стр1Уровня Из ДеревоЭлементовФормы.Строки Цикл
Если пФормаКопия.ЭлементыФормы.Найти(Стр1Уровня.Элемент.Имя)=Неопределено Тогда
Если Стр1Уровня.ПарситьСтраницы<>ложь тогда
//в процедуре "ПередОткрытием" модуля формы обработки добавил колонку в дерево элементов формы
//КолонкиДерева.Добавить("ПарситьСтраницы",Новый ОписаниеТипов("Булево"));
//Еще - в самом начале процедуры СформироватьДеревоСЭлементамиФормы в начало цикла добавил
//Стр1Уровня.ПарситьСтраницы=истина;

Если Стр1Уровня.Страница = Неопределено Тогда
Стр1Уровня.Страница = СтраницаПанели.Имя;
Стр1Уровня.Панель=ИмяПанели;
Стр1Уровня.ПарситьСтраницы=ложь;

КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;

//пФормаКопия.ЭлементыФормы.Удалить(Панель);
//Для каждого Стр1Уровня Из ДеревоЭлементовФормы.Строки Цикл
// Если пФормаКопия.ЭлементыФормы.Найти(Стр1Уровня.Элемент.Имя)=Неопределено Тогда
// Если Не ЗначениеЗаполнено(Стр1Уровня.Панель) или Стр1Уровня.ТипЭлемента = "Панель" Тогда
// Стр1Уровня.Панель = ИмяПанели;
// КонецЕсли;
// КонецЕсли;
//КонецЦикла;

КонецЦикла;

Строки1Уровня = ДеревоЭлементовФормы.Строки;
ПослСтрока = Строки1Уровня.Количество()-1;
Для Сч = 0 По ПослСтрока Цикл
ТекСч = ПослСтрока-Сч;
ТекСтрока = Строки1Уровня[ТекСч];
Если ЗначениеЗаполнено(ТекСтрока.Страница) Тогда
СтрРодитель = Строки1Уровня.Найти(ТекСтрока.Панель+"_"+ТекСтрока.Страница,"ПолноеИмя",истина);
//было СтрРодитель = Строки1Уровня.Найти(ТекСтрока.Страница,"ИмяЭлемента",Истина);
НовСтр = СтрРодитель.Строки.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр,ТекСтрока);
ПеренестиПодчиненныеСтроки(НовСтр,ТекСтрока);
Строки1Уровня.Удалить(ТекСч);
КонецЕсли;
КонецЦикла;

В случае этих корректировок зависания (по крайней мере, у меня) не происходит. Структура дерева элементов формы тоже, по-моему, не страдает.
Somebody1; HolodZar; zqzq; wing; Cerberdm; Vida; amiralnar; +7 Ответить
112. Feelthis 38 28.06.12 15:23 Сейчас в теме
Если сделать как написано в комментарии:(54) то все прекрасно работает, а так при анализе документа "Начисление по больничному листу" зацикливался в процедуре "ПеренестиПодчиненныеСтроки" модуля объекта и 1С в дамп вываливалась
120. Cerberdm 41 30.06.13 11:38 Сейчас в теме
(54) bambr1975, Спасибо, помогло.
121. Cerberdm 41 30.06.13 11:42 Сейчас в теме
Автору огромная благодарность ) начал уже создавать свою обработку для этих же целей, хорошо вовремя на ссылку наткнулся, не так много времени убил. Плюсую без вопросов! Отличная работа) - особенно с учетом (54)
127. wing 27 22.04.15 10:18 Сейчас в теме
Обработка не добавляет страницы на панели... а в остальном очень удобна с правками (54)
55. kiruha 388 15.03.12 05:00 Сейчас в теме
Возможно ли от программно созданной формы перейти к непрограммно ?
Шаг обратный декомпиляции, чтобы клиенту высылать стандартную, нединамическую ?
56. AlexO 135 30.03.12 17:38 Сейчас в теме
(55) kiruha,
нет, невозможно - механизма превращения кода 1с в "физический" объект с записью в конфигурацию (на диск) не существует.
Впрочем, в 1с8 в принципе нет выгрузки объектов интерфейса отдельно.
Даже просто создания махонького реквизита для хранения данных у объекта.
Это привет вам от Великого Отсутствия ООП в 1с ))
Если же вы про превращение УФ в обычную форму - тоже невозможно автоматически.
59. rasswet 82 31.03.12 10:03 Сейчас в теме
при попытке разобрать форму (устанавливаем курсор на форму элемента в дереве слева) в ЗУП релиз 47 (командировки организаций) падает сеанс 1С:Предприятие 8.2 (8.2.15.301)
61. AlexO 135 31.03.12 15:00 Сейчас в теме
63. rasswet 82 31.03.12 20:22 Сейчас в теме
(61) ну..не совсем..другой парсер с этого сайта парсит без ошибки.
но мне нравится работать с тем, который тут. а он валится.
64. bambr1975 877 31.03.12 20:59 Сейчас в теме
(63) rasswet, попробуйте слегка поправить код (как описано в (54)) - может, поможет ;)
62. AlexO 135 31.03.12 17:46 Сейчас в теме
В УПП в справочнике Проекты при выборе ФормыЭлемента - вылет.
65. AlexO 135 01.04.12 01:11 Сейчас в теме
(62) нашел проблему (вариант решения в части определения родителя в (54)):
модуль объекта, в процедуре СформироватьДеревоСЭлементамиФормы:
строку
СтрРодитель = Строки1Уровня.Найти(ТекСтрока.Страница,"ИмяЭлемента",Истина);	//поиск по уникальным значениям

заменить на:
			//если элементы имеют одинаковое название - то сам элемент может стать своим "родителем",
			//и тогда далее в рекурсивной процедуре "ПеренестиПодчиненныеСтроки" произойдет зацикливание.
			//Поэтому необходимо применить поиск по неуникальным значениям в коллекции дерева.
			ПараметрыОтбораРодителей = Новый Структура ("ИмяЭлемента", ТекСтрока.Страница);
			НайденныеРодители = Строки1Уровня.НайтиСтроки(ПараметрыОтбораРодителей, Истина);	//массив найденных родителей с одинаковыми именами
			Если НайденныеРодители.Количество() > 1 Тогда
				//если среди найденых "родителей" кроме самого родителя и элемента будут еще "родители" (элементы с тем же именем),
				//то делаем родителем первого найденного:
				Для Каждого СтрокаРодитель Из НайденныеРодители Цикл
					Если НЕ СтрокаРодитель = ТекСтрока Тогда
						//нашли ссылку на родителя:
						СтрРодитель = СтрокаРодитель;
						Прервать;
					КонецЕсли;
				КонецЦикла;
			Иначе
				СтрРодитель = Строки1Уровня.Найти(ТекСтрока.Страница,"ИмяЭлемента",Истина);	//поиск по уникальным значениям
			КонецЕсли;
Показать


Проблема в том, что некоторые элементы и их родители могут называться одинаково (например, как в справочнике "Проекты": страница и ПолеВвода - оба элемента называются "Описание", но один является контейнером, а другой - нет), и тогда уникальным поиском находилось первое значение, которое могло оказаться отнюдь не родителем, а самим элементом (с тем же названием), и тогда в рекурсивной процедуре ПеренестиПодчиненныеСтроки происходило зацикливание (элемент сам себе бесконечно добавлял "подчиненную" строку).
Код выше (получилось с оговорками - вопрос, если кроме родителя и самого элемента будут еще элементы с таким же именем, то за "родителя" будут принят первый расположенный по списку и "не-ТекСтрока" элемент.

Остался непонятным еще вопрос. Зачем в цикле
	Для каждого СтрДерева Из МассивСтрок Цикл
		Панель = СтрДерева.Элемент;
		ИмяПанели = Панель.Имя;
                .....
	КонецЦикла; 

заполняется "Стр1Уровня", когда в конце все равно переменная перезаполняется данными дерева:
Строки1Уровня = ДеревоЭлементовФормы.Строки;


Но еще постоянно ошибка в попытке (не знаю, критично или нет для результата?):
Процедура "ДобавитьДействие"
Ошибка времени выполнения, стр 140
Ошибка при вызове метода контекста "ПолучитьДействие".

Исправленный файл обработки с изменениями из (54):
Прикрепленные файлы:
ДекомпиляцияЭлементовФормы(испр).epf
66. rasswet 82 03.04.12 20:20 Сейчас в теме
(65) спасибо, завтра протестирую на той же форме.
67. rasswet 82 04.04.12 16:05 Сейчас в теме
(65) протестировал ваш файл.
теперь не виснет. но есть Ошибка
{ВнешняяОбработка.ДекомпиляцияИАнализФорм.МодульОбъекта(165)}: Поле объекта не обнаружено (Верх)
мТекст.ДобавитьСтроку(Таб + СтрокаПробелов + "УстановитьПоложениеЭлемента(" + ТекстЭлементДляРазмеров + "," +
69. AlexO 135 06.04.12 12:11 Сейчас в теме
(67) rasswet,
я не знаю, что у вас за конфигурация, и что за объект "Работники организаций", в котором есть некое ТабличноеПоле.
Поэтому здесь не помогу ничем.
По поводу
Поле объекта не обнаружено (Верх)

- у распарсиваемого объекта нет свойства "Вверх", которое ищет обработка и пытается изменить.
70. rasswet 82 06.04.12 14:06 Сейчас в теме
(69) зуп конфигурация. немного измененная..
68. rasswet 82 04.04.12 16:09 Сейчас в теме
(65) уточню. ошибку выводит когда ставлю Флаг напротив "работники организации" табличное поле. и при полном анализе формы. на других элементах ошибку не выдает.
71. AlexO 135 10.04.12 15:10 Сейчас в теме
(68) rasswet,
когда ставлю Флаг напротив "работники организации" табличное поле. и при полном анализе формы

если эти "Работники организаций" - это регистр сведений, то в типовой ЗУП ошибок нет.
73. rasswet 82 10.04.12 15:42 Сейчас в теме
(71)это документ "командировки организаций", табличная часть его называется "работники организации"
75. AlexO 135 10.04.12 17:48 Сейчас в теме
(73) rasswet,
ругается на поля ТП.
Поля "ОсвобождатьСтавку" и "НапомнитьПоЗавершении" - имеют тип булево (флажки), и, видимо, с этим и связано "непонимание" обработки. Остальные поля с дургими типами - отрабатывают.
72. dandrontiy 10.04.12 15:22 Сейчас в теме
Идея интересная. А вот бы обработку, которая из <неуправляемой> формы создавала <управляемую>
74. AlexO 135 10.04.12 17:41 Сейчас в теме
(72) dandrontiy,
1c в принципе "не предусмотрела" таких конвертаций и механизмов для этого не вводила в платформу.
76. dandrontiy 11.04.12 11:25 Сейчас в теме
(74) AlexO, Так я про это и говорю.
НО наверно можно собрав информацию о всех элементах формы попытаться создать кучу областей на управляемой форме, куда накидать такие же элементы. просто количество вложенных областей получится очень большим, и вручную такую работу проделать просто нереально.
77. AlexO 135 12.04.12 18:11 Сейчас в теме
(76) dandrontiy,
это вы про чисто механическую обработку визуальных элементов, которые и в 8.1, и в 8.2 - основаны у 1с на одних и тех же сишных бибилиотеках.
А с кодом-то что будете делать? или у вас форма будет работать и функционировать без кода формы? :)
78. mtv:) 1027 23.04.12 08:57 Сейчас в теме
(0) Наткнулся на ограничения программной генерации элементов формы:

1. В ФормеДокумента у ПоляВвода невозможно программно задать "Связь по владельцу".
2. В ФормеСписка при программной вставке Колонки в ТабличноеПоле, в диалоге "Отбор и сортировка" отсутствует втавленная Колонка.

Пока только это, возможно есть и другие ограничения.
111. bambr1975 877 06.05.12 13:30 Сейчас в теме
(78) mtv:),
1. В ФормеДокумента у ПоляВвода невозможно программно задать "Связь по владельцу".
2. В ФормеСписка при программной вставке Колонки в ТабличноеПоле, в диалоге "Отбор и сортировка" отсутствует втавленная Колонка.


Первая проблема вроде действительно не рещается.
Вторая - решается простым добавлением в код программного добавления строк:
ЭлементыФормы.ТабличноеПоле.НастройкаОтбора.РеквизитДобавленнойКолонки.Доступность=истина
114. frc 12.07.12 16:54 Сейчас в теме
(78) mtv:),
В ФормеДокумента у ПоляВвода невозможно программно задать "Связь по владельцу".

это ограничение еще с 8.0 - запрещено программно устанавливать СвязьПоВладельцу.
2. В ФормеСписка при программной вставке Колонки в ТабличноеПоле, в диалоге "Отбор и сортировка" отсутствует втавленная Колонка.

По Сортировке нужно отдельно прописать установку флага
ЭлементыФормы.ДокументСписок.НастройкаПорядка["ИмяКолонкиТП"].Доступность = Истина;

(111) bambr1975,
ЭлементыФормы.ТабличноеПоле.НастройкаОтбора.РеквизитДобавленнойКолонки.Доступность=истина

в Отбор вроде как попадает без этой строки сразу при создании.
79. sorb 25.04.12 08:40 Сейчас в теме
Отличная обработка, нередко ей пользуюсь.

На днях столкнулся с такой проблемой: при попытке анализа формы обработки "ПанельФункций" из БП 2.0 словил ошибку:
{ВнешняяОбработка.ДекомпиляцияИАнализФорм.МодульОбъекта(490)}: Поле объекта не обнаружено (Имя)
				Если пФормаКопия.ЭлементыФормы.Найти(Стр1Уровня.Элемент.Имя)=Неопределено Тогда
В отладчике видно следующее:
Стр1Уровня.Элемент = Панель (Тип Панель)
Стр1Уровня.Элемент.Имя = "Поле объекта не обнаружено (Имя)"
Стр1Уровня.ИмяЭлемента = "ПанельПериод"

Теперь вопросы :) :
1. Кто-нибудь пробовал анализировать данную конкретную форму? Если да, то возникала ли такая ошибка?
2. Из кода видно, что вложенность панелей не учитывается. Правильно ли я понимаю, что это и послужило причиной ошибки?

P.S. Шибко ковыряться сейчас нет времени, поэтому буду благодарен за любую помощь.
80. AlexO 135 26.04.12 23:54 Сейчас в теме
Вот и пришло время начать говорить о том, что НЕЛЬЗЯ сделать программно.
Нельзя создавать стандартные кнопки - Добавить, Переместить, Сортировать и т.д.
Потому как нужно задавать действие, а его как такового не существует - пока не создана панель с кнопками. Т.е. в платформу не вшиты события стандартных кнопок, на которые можно было бы сослаться - они генерируются при создании элемента. Создаешь панель - создаются кнопки и события. Либо можно сослаться на уже созданные кнопки, но только если они есть. АвтоЗаполнение компанели, кстати, тоже не работает при программном создании.
Это ответ 1с - ООПу и наследованию классов.
И даже программное создание своих кнопок - требует, чтобы события обработки действий находились в модуле формы, иное не работает ни при каких обстоятельствах (ссылки на форму/другие формы - бесполезны).
В 8.2 на УФ данную проблему можно обойти (создавать стандартные кнопки в своих панелях), но там свои проблемы - с размещением кнопок и далеко не в каждой пользовательской панели их можно разместить.
81. AlexO 135 27.04.12 01:45 Сейчас в теме
Далее. Нельзя программно переместить элемент с одной вкладки на другую.
Все интереснее и чудесатее..
88. bambr1975 877 27.04.12 18:05 Сейчас в теме
Реквизиты формы должны находиться на закладке "Реквизиты" у формы. Их программно создавать у нас не получится (в этом и есть ограничение. А вот ЭЛЕМЕНТЫ ФОРМЫ, связать с реквизитами и назначить им свойства - пожалуйста.
89. AlexO 135 27.04.12 18:09 Сейчас в теме
Ненадежно оно как-то все. Автозаполнение сразу не заработало, перечисления - перестал видеть немного погодя.
Системные кнопки тоже не видит. Вернее, их действия.
90. bambr1975 877 27.04.12 18:14 Сейчас в теме
В Вашем неработающем коде, скорее всего для тпМенеджеры не установлено
ЭлементыФормы.тпМенеджеры.Данные="<строка реквизита формы, значение которого у вас должно выводиться в это тп>;
Этот реквизит должен быть или табличной частью объекта, форму которого Вы разрабатываете или этот реквизит должен быть описан на закладке "Реквизиты" самой формы.
92. AlexO 135 27.04.12 18:16 Сейчас в теме
(90) bambr1975,
да ну как не установлено - установлено конечно же :)
ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"тпМенеджеры",Истина,ЭлементыФормы.Панель1);
	УстановитьПоложениеЭлемента(ТабличноеПоле,40,173,6,380);
	ТабличноеПоле.Данные = "МенеджерыПроектов";

где МенеджерыПроектов - ТЧ объекта
Оставьте свое сообщение