можно ли связать добавляемые поля ввода программно с разными строками табл. поля? #435576


#0 by SuperLivingStar
| программно создаю элементы управления, в данные ставлю предварительно спозиционированную строку табличного поля, но почему то во всех созданных элементах управления табличное поле, оказываются данные последней строки табличного поля, подскажите кто знает?
#1 by SuperLivingStar
как установить связь элементов управления на разные строки в табличном поле? похоже они все устанавливаются на строки, на которую была установленна активность последний раз, то есть как в последнем элементе управления последней строки
#2 by hhhh
наверно наоборот надо. Типа ЭлементыФормы.ПодразделыДоговора.Колонки.Раздел.ЭлементУправления = Новый ПолеВвода; тогда не нужно задавать "Данные" и лево-право верх низ само посчитается.
#3 by SuperLivingStar
пардон там вот так вот: | то есть при переборе циклом устанавливаю сначало нужною строку в табличном поле, а потом задаю её в данные элемента управления, по ходу дела все так идет, но в конечном итоге во всех полях выводится данные последней спозиционированной строки
#4 by SuperLivingStar
блин ! вот это не закомментированно !!! ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока = Строка;
#5 by SuperLivingStar
шутите? элементы же вот так добавляются |
#6 by SuperLivingStar
это вообще мне кажется не реально счас посыплются ошибки и тд. и тп.
#7 by exchang
как вариант: Форма.ТабПоле.УстановитьДействие("ТабПолеПриАктивизацииСтроки", Новый Действие("ПриАктивизацииСтроки")); .... КонецПроцедуры
#8 by SuperLivingStar
Exchang скажите а а при программном переборе строк будет срабатывать процедура ТабПолеПриАктивизацииСтроки ? Так как табличная часть эта не видимая и заполняется программно, задача выводить реквизиты её строк в динамически сознаваемые поля ввода для удобства редактирования пользователя и перенос их изменений обратно...
#9 by SuperLivingStar
| может можно ещё так...
#10 by SuperLivingStar
изначально осуществляется перебор строки Тч, так что процедуру надо привязывать к Тч, я ранее с этим не сталкивался и очень плаваю счас. В все работает, но значения ставятся по последней строке это не понятно(((( веть в данные я добавляю все новые значения...
#12 by SuperLivingStar
Извините, но вы вообщек не в тему, что очевидно то очевидно без таких нелепостей. А если все же проблема остается то и вопросы тоже!!!
#13 by SuperLivingStar
ругается: {Документ.Договора.Форма.ФормаДокумента}: Ошибка при вызове метода контекста (УстановитьДействие): Недопустимое значение параметра (параметр номер '1') ЭлементыФормы.ПодразделыДоговора.УстановитьДействие("ПодразделыДоговораПриАктивизацииСтроки", Новый Действие("ПриАктивизацииСтроки"));
#14 by exchang
наоборот ЭлементыФормы.ПодразделыДоговора.УстановитьДействие("ПриАктивизацииСтроки", Новый Действие("ПодразделыДоговораПриАктивизацииСтроки"));
#15 by exchang
ну так задачи то две: 1 - отображать данные текущей строки таб поля, 2 - при изменении значения элемента, захватывать объект и записывать. Если я правильно понял..
#16 by SuperLivingStar
счас: {Документ.Договора.Форма.ФормаДокумента}: Ошибка при вызове метода контекста (УстановитьДействие): Несоответствие типов (параметр номер '2') ЭлементыФормы.ПодразделыДоговора.УстановитьДействие(Новый Действие("ПриАктивизацииСтроки"), "ПодразделыДоговораПриАктивизацииСтроки"); по причине: Несоответствие типов (параметр номер '2') (
#17 by SuperLivingStar
ой пардон, счас поправлю
#18 by SuperLivingStar
вот ошибка: {Документ.Договора.Форма.ФормаДокумента}: Ошибка при вызове метода контекста (УстановитьДействие): Недопустимое значение параметра (параметр номер '2') (Процедура, указанная в качестве обработчика события, имеет неверное количество параметров) ЭлементыФормы.ПодразделыДоговора.УстановитьДействие("ПриАктивизацииСтроки", Новый Действие("ПодразделыДоговораПриАктивизацииСтроки")); по причине: Недопустимое значение параметра (параметр номер '2') (Процедура, указанная в качестве обработчика события, имеет неверное количество параметров)
#19 by exchang
=)))) что то я мозги тебе пудрю
#20 by exchang
было верно, а ты в разделе основной программы модуля формы описал?
#21 by SuperLivingStar
да верно, отображать данные текущей строки Тч в соответствующих полях ввода, при шаге цикла и потом обновлять значение поля ввода в соответствующей строке
#22 by SuperLivingStar
да я писал в модуле формы
#23 by SuperLivingStar
у документа одна форма, и я пишу в её модуле, до цикла | ЭлементыФормы.ПодразделыДоговора.УстановитьДействие("ПриАктивизацииСтроки", Новый Действие("ПодразделыДоговораПриАктивизацииСтроки")); | ну и потом хочу описывать процедуру
#24 by SuperLivingStar
тама что то про параметры пишется, может в самом деле нужен ещё параметр?
#25 by exchang
а поцедуру тоже вставил?
#26 by SuperLivingStar
ну да, как и тут показал, скопировал из модуля
#27 by exchang
ПодразделыДоговораПриАктивизацииСтроки(элемент)
#28 by exchang
получилось?
#29 by SuperLivingStar
Это при объявлении самой процедуры....
#30 by exchang
#31 by SuperLivingStar
ну да, только счас надо определиться что за Элемент, - ЭлементыФормы.Элемент.Значение = ЭлементыФормы.ТабПоле.ТекущаяСтрока[1]; так как я же его создавать хочу программно
#32 by exchang
элемент -это параметр.. а вот твой элемент называй по другому
#33 by SuperLivingStar
то есть при переборе строк запускается процедура ПодразделыДоговораПриАктивизацииСтроки(Элемент) в ней нужно создавать программно Поле Ввода, выводить в него нужное поле строки....я правильно понимаю?
#34 by SuperLivingStar
Элемент -это сама строка?
#35 by SuperLivingStar
элемент.ТекущиеДанные, это строка
#36 by SuperLivingStar
почему то только номер строки сразу 2 идет (((( а должен же с 0 идти !!!
#37 by exchang
не, пиши ЭлементыФормы.ПодразделыДоговоры.ТекущаяСтрока
#38 by SuperLivingStar
хотя счас гляну, может у меня точка останова не там стояла...
#39 by SuperLivingStar
кажется надо в начале цикла вставить вот эту строку    ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока = Строка; тогда будет вызываться процедура ПодразделыДоговораПриАктивизацииСтроки(Элемент)
#40 by exchang
я что то сам уже не понимаю.. создать поле нужно при открытии формы, а при переборе только выводить
#41 by SuperLivingStar
Строка, это итератор цикла Для Каждого Строка Из ПодразделыДоговора Цикл
#42 by SuperLivingStar
вообще у меня привязано счас все на кнопку, при нажатии на неё открывается в отчет с разделами и подразделами, а на странице панели хочу выводить эти же разделы подразделы для необходимого редактирования
#43 by SuperLivingStar
пока обнаружил что процедура ПодразделыДоговораПриАктивизацииСтроки(Элемент) вызывается при проходе строки, - ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока = Строка;
#44 by SuperLivingStar
главное же это отловить, счас в процедуру перенесу установку в него поля строки, а потом видимо нужно обрабатывать ПриИзменении, как вы говорили в вообще я думал что при установки связи они автоматически будут, как в по последней строке, но видимо нет....
#45 by SuperLivingStar
вот счасгеморно переписывать цикл, в то у меня все циклом шло:
#46 by SuperLivingStar
это тот вариант, что не работал, загоняя в поля последнюю строку, хотя программно все нормально шли, и заносились в данные разные значения...
#47 by SuperLivingStar
блин все равно ничего не работает ((((
#48 by SuperLivingStar
реально это программирование с использованием методов ничего не дало ( все сводится как в переписывается все по последнему значению (
#49 by exchang
жесть
#50 by SuperLivingStar
Я не могу вывести значения, ЭлементыФормы.ПодразделыДоговора.УстановитьДействие("ПриАктивизацииСтроки", Новый Действие("ПодразделыДоговораПриАктивизацииСтроки")); и вызывается после строки ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока = Строка; но нифига все равно не работает, все сводится к одной последней строке((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
#51 by SuperLivingStar
#52 by SuperLivingStar
как мне в создаваемые поля то запихать знеачения строки???????????????????? что бы они были разные, а не переписывались под конец работы цикла на последнюю строку
#53 by SuperLivingStar
| на вот это ругается так нельзя
#54 by SuperLivingStar
короче переписывается на последнюю строку и все (((( | ПодразделДоговора.Данные         =    "ЭлементыФормы.ПодразделыДоговора.ТекущиеДанные.Подраздел"; | я там создаю элемент и мне надо задать значение в данные, в значение не могу, так как я не знаю название элемента, надоело мне этот велик крутить (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
#55 by exchang
моя тебя совсем не понимать, скажи по русски
#56 by SuperLivingStar
ЗНАЧЕНИЯ Я ПОМЕЩАЮ ВОТ ТАК РазделДоговора.Данные         =    "ЭлементыФормы.ПодразделыДоговора.ТекущиеДанные.Раздел"; ПодразделДоговора.Данные         =    "ЭлементыФормы.ПодразделыДоговора.ТекущиеДанные.Подраздел"; ЦИКЛ ОТРАБАТЫВАЕТ И ВО ВСЕХ ПОЛЯХ ЗНАЧЕНИЯ ПОСЛЕДНЕЙ СТРОКИ ОБРАБАТЫВАЕМОЙ ТАБЛИЦЫ
#57 by exchang
так блин конечно же так не получится: РазделДоговора.Данные         =    "ЭлементыФормы.ПодразделыДоговора.ТекущиеДанные.Раздел"; он же устанавливается на текущие данные, строка поменалясь и данные тоже. храни тогда номер строки что ли.. как бы так..
#58 by SuperLivingStar
да я пробовал устанавливать нужную строки и задавать, что то не догоню никак....
#59 by SuperLivingStar
ну а если так? Элемент.ТекущаяСтрока.Раздел или Элемент.ТекущаяСтрока.Подраздел тоже ничего не выйдет? или надо именно через ЭлементыФормы ? можно так ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока.Раздел или ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока.Подраздел вы про это говорили?
#60 by SuperLivingStar
счас посмотрю можно ли это затолкать в данные
#61 by SuperLivingStar
(+57) не так не пойдет говорит не правильный путь к данным и все по новой (((( переписывается на последнюю строку (((((
#62 by SuperLivingStar
как хранить номер строки???? | и что все же задавать в РазделДоговора.Данные или в ПодразделДоговора.Данные
#63 by SuperLivingStar
весь вопрос в том, что запихивать в: РазделДоговора.Данные и в ПодразделДоговора.Данные | что бы не переписывалось это на последущие строки (!
#64 by exchang
1) ты странно здесь вот так идешь: а строка на одном месте стоит.. 2) создавай реквизиты, присваивай им значения текущей строки при обходе, и присваивай данным эти реквизиты. можешь использовать свойство формы "ДополнительныеСвойства"
#65 by SuperLivingStar
я вызываю ЭлементыФормы.ПодразделыДоговора.ТекущаяСтрока = Строка; что бы вызывалась процедура ПодразделыДоговораПриАктивизацииСтроки(Элемент) как иначе её вызвать? почему строка на месте стоит??? она перемещается по циклу
#66 by SuperLivingStar
переменных то я могу хоть сколько получать, но в "Данные" надо указывать же путь данным !!! я не знаю названия поля и в значения не могу задавать....
#67 by SuperLivingStar
сорри, я не знаю что такое "ДополнительныеСвойства"
#68 by exchang
а... прогнался я
#69 by exchang
щас.
#70 by SuperLivingStar
если закоментачить эту строку | | то ПодразделыДоговораПриАктивизацииСтроки(Элемент) вообще не будет вызываться (
#71 by exchang
ПодразделыДоговора а это справочник?
#72 by SuperLivingStar
короче в данные можно только так пихать ((( "ЭлементыФормы.ПодразделыДоговора.ТекущиеДанные.Раздел" иначе выдает ошибки....не правильный путь к данным там, и прочее ...
#73 by SuperLivingStar
это табличная часть у документа
#74 by SuperLivingStar
у неё 2 поля, Раздел и Подраздел если разделы повторяются то я их пропускаю выводя один, как и в отчете ну и вывожу подразделы к каждому разделу, хочу вывести это в поля ввода что бы потом изменять , редактировать ...
#75 by exchang
ну тогда кажись, да, ты прав, никак! :) просто запоминать и по номерам строк если.. полеввода1=номерстроки1,...
#76 by SuperLivingStar
Зашибовский !
#77 by SuperLivingStar
что запоминать то? в данные надо прописывать путь с ТекущиеДанные и в полях везде будут одинаковые значения (((( как сделать то что нужно я не понимаю (
#78 by SuperLivingStar
дело в том что я эту таблицу заполняю при смене договора на форме может тогда добавить в неё поле "ИмяПоляВвода" и создавать поле на каждую строку и тогда оно его и менять будет? что то уже никак не соображаю (
#79 by exchang
так ты же хошь сразу хранить несколько ссылок, т.е. текущих данных.. а они только одни вроде в нужный момент
#80 by SuperLivingStar
да я счас вообще ничего не понимаю (
#81 by SuperLivingStar
дело в том что поля эти я хочу держать динамически создавая программно так как в них можно редактировать сразу длинный текст
#82 by SuperLivingStar
а сколько их будет всего это не известно, они делаются в справочниках и к каждому договору может быть привязанно несколько разделов а к каждому разделу несколько подразделов
#83 by SuperLivingStar
я просто не понимаю что надо делать, все что нужно не работает как нужно, и что это за херня не понятно !!!
#84 by exchang
я короче не знаю зачем тебе это нужно редактировать сразу несколько и одновременно, редактируй по отдельности каждую отдельную текущую строку, и все будет ок!
#85 by SuperLivingStar
я хочу сделать редактор таблицы, в полях подразделы договора которые желательно редактировать все вместе, такое ТЗ
#86 by SuperLivingStar
я сам понимаю что занимаюсь хренью какой то но такова задача, что делать то, вот бъюсь в поисках решения! Плюнуть всегда можно будет
#87 by SuperLivingStar
дело в том что в данные Элемента надо всегда прописывать ТекущиеДанные, это так? тогда ничего не будет работать и пытаться не стоит ((((
#88 by SuperLivingStar
все будет переписываться на последнюю строку
#89 by exchang
генерь элементы формы при открытии, а потом после изменения перезаписывай табличную часть, и все..
#90 by SuperLivingStar
смысл был в больших полях для редактирования объемных текстовых разделов договора ...
#91 by SuperLivingStar
что я хотел сделать через поля ввода, счас только наверное если на каждый раздел свою колонку сделать только можно наверное будет возить через .ТекущиеДанные.
#92 by SuperLivingStar
не нереально потома же надо будет хранить всю эту структура а созданная программно она наверное не сохранится
#93 by SuperLivingStar
хочу счас сделать большое поле для редактирования текста в строке вызываемое по клику, что то типа этого
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С