Всем, здравствуйте! В первой колонке табличного поля у меня флажок, подскажите как к нему добраться?<br>Спасибо за помощь.
Всем, здравствуйте! В первой колонке табличного поля у меня флажок, подскажите как к нему добраться?<br>Спасибо за помощь.
Какой странный вопрос. Флажок, если это не картинка - всегда имеет конкретные данные.
"Вот в таком коде условие не выполняется <br>номерВыбСтр = -1; <br>Для счетчик = 0 По ЭлементыФормы.ДоговораТП.Колонки.Количество() - 1 Цикл<br> Если ЭлементыФормы.ДоговораТП.Колонки[0] = Истина Тогда<br> номерВыбСтр = счетчик;<br> КонецЕсли;<br>КонецЦикла;<br>"
"Странный код - из него даже не понятно, что пытаетесь сделать.<br>> Вот в таком коде условие не выполняется <br>> номерВыбСтр = -1; <br>> Для счетчик = 0 По ЭлементыФормы.ДоговораТП.Колонки.Количество() - 1 Цикл<br><br>это как понимать? Взять нулевую колонку, а строка какая? К тому же вы работаете с элементами формы, а тогда еще надо указать Значение (ЭлементыФормы.ДоговораТП[НомерСтроки][НомерКолонки].Значение). К тому же не ясно зачем счетчик, если в условии не фигурирует.<br>> Если ЭлементыФормы.ДоговораТП.Колонки[0] = Истина Тогда<br><br>> номерВыбСтр = счетчик;<br>> КонецЕсли;<br>> КонецЦикла;<br>> <br><br>Если обратить внимание на вашу переменную номерВыбСтр, получается, что ищите выбранную строку. Таким циклом (даже если бы он был правильный) - найдете последнюю выбранную строку. Если же нужна текущая, то чем не устраивает ЭлементыФормы.ДоговораТП.ТекущаяСтрока?"
"Мне не понятно как работать с ТаблицейЗначений. Если это аналог DataTable в С#, то сходства в использовании я не вижу. Я изменил цикл т.о.:<br><br>номерВыбСтр = -1;<br>счетчик = 0;<br>Для каждого СтрТаб Из ДоговораТП Цикл<br> ЗначениеФлажка = СтрТаб.Отметка; //отметка - имя колонки<br> Если ЗначениеФлажка = Истина Тогда<br> номерВыбСтр = счетчик;<br> КонецЕсли;<br>счетчик = счетчик + 1;<br>КонецЦикла;<br><br>Как тогда должен выглядеть код? У меня была мысль использовать событие "Выбор"<br>"
"> Как тогда должен выглядеть код? У меня была мысль использовать событие "Выбор"<br>А что вы пытаетесь сделать? Событие выбор возникает при двойном щелчке на поле (входе в редактирование).<br>Что же вам надо?<br>Получить текущую строку? Тогда ЭлементыФормы.ДоговораТП.ТекущаяСтрока<br>Получить номер последней строки с Отметкой - тогда ваш цикл правильный.<br>Получить первый номер строки с Отметкой - тогда надо бы прервать цикл.<br><br>Тоже самое, что у вас, только без счетчика:<br>> номерВыбСтр = -1;<br>> Для каждого СтрТаб Из ДоговораТП Цикл<br>> ЗначениеФлажка = СтрТаб.Отметка; //отметка - имя колонки<br>> Если ЗначениеФлажка = Истина Тогда<br> номерВыбСтр = ДоговораТП.Индекс(СтрТаб);<br>> КонецЕсли;<br>> КонецЦикла;<br>"
Как я предполагал раньше: для удобства в ТабличноеПоле добавил флажок, бухгалтер отмечает соответствующую строку, нажимает на кнопку "ОК", в цикле идет перебор строк, где выполняется проверка состояния флажка (и выбор номера строки откуда брать данные для передачи в др форму).
"1. За табличным полем стоит Таблица значений. Я надеюсь, что Отметка это не просто имя колонки, но тоже самое написано в свойстве ДанныеФлажка и имеется соответствующее поле в Таблице значений (заметьте, для Табличного поля и Таблицы значений могут не совпадать количество колонок, их имена. Табличное поле опирается на то что указано в свойствах Данные и ДанныеФлажка)<br>2. Предположим, что 1-е выполняется. В принципе ваш цикл правильный. Маленькое дополнение:<br><br>МасСтр = Новый Массив;<br>Для каждого СтрТаб Из ДоговораТП Цикл<br> ЗначениеФлажка = СтрТаб.Отметка; //отметка - имя колонки<br> Если ЗначениеФлажка = Истина Тогда<br> МасСтр.Добавить (СтрТаб);<br> КонецЕсли;<br>КонецЦикла;<br>//Теперь можете передавать массив МасСтр куда угодно."
Спасибо, все заработало, пункт 1 не выполнялся.
1C:Лекторий: 14 января 2025 года, начало в 10:00 — Бесплатная онлайн-лекция о поддержке изменений законодательства с 2025 года в программах 1С:ERP, 1С:КА, 1С:УТ 1C:Лекторий: 21 января 2025 года, начало в 12:00 — Бесплатная онлайн-лекция о зарплатной отчетности за 2024 год - рекомендации по подготовке в 1С:ЗУП ред.3 |
1C:Лекторий: 23 января 2025 года, начало в 10:00 — Бесплатная онлайн-лекция о ККТ - ответы на частые вопросы, применение ставок 5% и 7% на УСН 1C:Лекторий: 28 января 2025 года, начало в 12:00 — Бесплатная онлайн-лекция о рисках для вашего бизнеса по Закону №152-ФЗ «О персональных данных» в 2025 году |