Обработчик ПриИзменении для ячейки, созданной программно #255126


#0 by vladon
Если в табличном поле создал программно строку, то как к одной из её ячеек прикрутить обработчик ПриИзменении?
#1 by Scooter
ПодключитьОбработчикИзмененияДанных ???
#2 by asady
Расширение элементов управления, расположенных в форме УстановитьДействие (SetAction) Синтаксис: УстановитьДействие(<Событие>, <Действие>) Параметры: <Событие> (обязательный) Тип: Действие, Неопределено. Устанавливаемое действие. В случае установки значения Неопределено при получении от элемента управления указанного события никакого действия выполнено не будет. Описание: Устанавливает новую процедуру-обработчик (действие) для указанного события.
#3 by vladon
В общем, добавляю в строке ячейку с типом данных СправочникСсылка.ЕдиницыИзмерения, который подчинён Справочнику Номенклатура Нужно, чтобы при изменении ячейки с единицей измерения выбирались только те элементы справочника ЕдиницыИзмерения, владельцем которых выступает определённый элемент справочника номенклатура. Я не тем путём иду?
#4 by asady
к конкретной ячейке ТП прикрутить событие "ПриИзменении" нельзя - можно прикрутить событие к колонке ТП.
#5 by asady
"Связь по владельцу" в свойствах этой ячейки настрой.
#6 by vladon
а как её настроить программно?
#7 by dimoff
чушь
#8 by asady
осторожнее молодой человек. А не то придется продемонстрировать обратное.
#9 by TormozIT
ТабличноеПоле.Колонки.Колонка1.ЭлементУправления.УстановитьДействие("ПриИзменении", Новый Действие("ОбработчикПриИзменении"))
#10 by coder1cv8
+1 Хотелось бы увидеть как это делается?
#11 by dimoff
В 4 в принципе чушь написана, не имеющая к 3 никакого отношения. Естественно элемент управления для всех строк определенной колонки один. Но 3 иного и не требуется, код в 9 его вполне устроит.
#12 by dimoff
Обратное я тебе элементарно могу продемонстрировать, делая 9 при активации строки в зависимости от индекса строки и т.д. и т.п.
#13 by coder1cv8
интересный ход...
#14 by dimoff
Но совершенно бесполезный, так как условие можно обрабатывать в одном обработчике.
#15 by coder1cv8
ну да. Тока это не будут разные обработчики для строк )
#16 by dimoff
А и не ставит такую задачу даже близко.
#17 by asady
так вот в написано именно то что приведено в - погляди внимательно. Иного и не имелось ввиду. А всякую чушь советовать, как например в явно не стоило.
#18 by dimoff
В 4 написана бессмысленная, самособойподразумевающаяся фраза, не имеющая отношения к , в 12 к тому же не содержится ни одного совета, а лишь демонстрация возможности.
#19 by asady
в содержится демонстрация чуши. Признай. Так никто никогда делать не будет.
#20 by dimoff
что за болван
#21 by asady
Молодо зелено. Перестань демонстрировать свою ограниченность. Не злись. Умей признавать свои ошибки. Держись достойно.
#22 by dimoff
Да, извини пожалуйста ты во всем прав во всех своих прошлых постах и на несколько постов вперед.
#23 by coder1cv8
Оба хороши, ИМХО.
#24 by vladon
так что делать-то? вот код (примерно), индексы чтобы понятно было: <code> как сделать так, чтобы в колонке с единицей измерения при изменении в списке подбора были только те элементы справочника ЕдиницыИзмерения, у которых владелец - тот, что в нулевой колонке?
#25 by vladon
+ ну, слабо? :) ну тогда продолжайте ругаться :)
#26 by asady
источник данных для ТП существует?
#27 by vladon
ТП формируется из запроса номенклатуру беру из регистра сведений ПравилаЦенообразования цены беру из регистра сведений ЦеныНоменклатуры.СрезПоследних
#28 by asady
Попытка номер 2. что написано в поле "Данные" свойств табличного поля?
#29 by vladon
Цены, тип ТаблицаЗначений
#30 by dimoff
В колонке с единицей измерения или в при выборе в элементе управления?
#31 by vladon
при выборе в элементе управления, конечно, я неправильно в выразился. короче, при изменении в ячейке.
#32 by dimoff
Свойство СвязьПоВладельцу
#33 by vladon
чьё свойство? у колонки нет такого свойства, у ячейки нет, у элемента управления тоже нет.
#34 by asady
Цены - это реквизит формы обработки или реквизит объекта?
#35 by vladon
реквизит формы обработки.
#36 by dimoff
Должно быть свойство элемента управления, но в списке свойств в синтакс-помощнике я его не нахожу, только на панели свойств
#37 by vladon
вот именно, в этом и ступор :(
#38 by dimoff
ВыборПоВладельцу называется
#39 by dimoff
В СП оно как расширение поля ввода для справочников
#40 by asady
1. делай Цены реквизитом объекта 2. При открытии сделай ЭлементыФормы.ТабличноеПолеЦены.СоздатьКолонки; ЭлементыФормы.ТабличноеПолеЦены.Колонки.Номенклатура.ЭлементУправления.УстановитьДействие("ПриИзменении", Новый Действие("ОбработчикПриИзмененииНоменклатуры")) 3. В процедуре модуля формы конецпроцедуры в модуле объекта конецпроцедуры
#41 by vladon
хм, а в чём радость? нужен выбор единицы измерения по владельцу при изменении именно в ячейке .ЕдиницаИзмерения у тебя получается, что при изменении номенклатуры загружается только его базовая единица.
#42 by dimoff
С 38 получилось?
#43 by asady
ну я же не телепат. никак не догоню цель твоих потуг.
#44 by asady
это я еще  в предлагал.
#45 by vladon
вот пытаюсь
#46 by asady
для этого нужно опиать колонки заранее. Например как ТЧ обработки. и указать эту ТЧ в качестве источника данных табличному полю в форме. тогда свойства ячейки "ЕдиницаИзмерения" будут доступны для установки.
#47 by dimoff
Судя по всему свойство ПриАктивизацииСтроки нужно утанавливать каждый раз
#48 by vladon
таблица установки цен: Номенклатура | Цена | Ед. изм. | Цена | Ед. изм. | --------------+------+----------+------+----------+ Marlboro     |   32 | пачка    |   34 | пачка    | Marlboro     |  640 | блок     |  680 | блок     | Яйца 1 кат.  |   20 | 1 дес.   |   21 | 1 дес.   | Яйца 1 кат.  |   60 | 3 дес.   |   63 | 3 дес.   | (цены из башки) Нужно, чтобы когда пользователь выбирает единицу измерения в ячейке, то выбирались только те элементы справочника ЕдиницыИзмерения, у которых владелец - элемент номенклатуры в первой колонке. Т.е. чтобы для яиц не выбралась единица "блок" и т.д. Сразу по : нельзя описать колонки заранее, они формируются динамически (для каждой структурной единицы), структурных единиц много, поэтому пользователь вначале при запуске обработки выбирает, для каких структурных единиц ему нужно установить/изменить/удалить цены, формируются колонки, получаются текущие цены из регистра и выводятся в таблицу.
#49 by asady
не согласен с таким мнением. Можно создать ТЧ обработки сразу с запасом на несколько структур типа "Магазин" сразу им устьановить свойства как в , а в процессе работы рулить видимостями колонок и устанавливать заголовки.
#50 by vladon
можно и так, но некрасиво :( можно ещё сделать свои формы добавления и редактирования строки табличного поля (чтобы не прямо в поле редактировать), но тоже некрасиво но так наверное и сделаю как ты посоветовал.
#51 by asady
Использование: Только чтение. Описание: Номер элемента объекта, с которым связано по типу поле ввода. Например, если поле ввода связано со ссылкой на счет, то номер элемента будет обозначать номер вида субконто, из которого будет взят тип для отработки связи. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Примечание: Нумерация начинается с 1. Только чтение :(((((
#52 by vladon
да это всё равно не то. а как по данной строке объекта ТаблицаЗначений получить соответствующую строку в объекте ТабличноеПоле?
#53 by asady
делай как в . Динамически связь по владельцу не установишь. Это понятно из .
#54 by asady
или можно делать обработку выбора ячейки сначала программно включить обработчик этого события для данного элемента управления. Потом в обработке выбора получать форму справочника и устанавливать отбор по владельцу.
#55 by dimoff
млин, все уже разжевано
#56 by vladon
да, сработало. спасибо.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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