Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Работа с элементом ТабличноеПоле

Yakovin
читатель
офлайн
Дата регистрации: 19.02.2007
Сообщений: 49
Пост №1
 
11.05.2010 15:18

Всем, здравствуйте! В первой колонке табличного поля у меня флажок, подскажите как к нему добраться?<br>Спасибо за помощь.

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №2
 
11.05.2010 15:36

Какой странный вопрос. Флажок, если это не картинка - всегда имеет конкретные данные.

Yakovin
читатель
офлайн
Дата регистрации: 19.02.2007
Сообщений: 49
Пост №3
 
11.05.2010 15:47

"Вот в таком коде условие не выполняется <br>номерВыбСтр = -1; <br>Для счетчик = 0 По ЭлементыФормы.ДоговораТП.Колонки.Количество() - 1 Цикл<br> Если ЭлементыФормы.ДоговораТП.Колонки[0] = Истина Тогда<br>       номерВыбСтр = счетчик;<br> КонецЕсли;<br>КонецЦикла;<br>"

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №4
 
11.05.2010 16:49

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

Yakovin
читатель
офлайн
Дата регистрации: 19.02.2007
Сообщений: 49
Пост №5
 
11.05.2010 17:01

"Мне не понятно как работать с ТаблицейЗначений. Если это аналог DataTable в С#, то сходства в использовании я не вижу. Я изменил цикл т.о.:<br><br>номерВыбСтр = -1;<br>счетчик = 0;<br>Для каждого СтрТаб Из ДоговораТП Цикл<br> ЗначениеФлажка = СтрТаб.Отметка; //отметка - имя колонки<br> Если ЗначениеФлажка = Истина Тогда<br>       номерВыбСтр = счетчик;<br> КонецЕсли;<br>счетчик = счетчик + 1;<br>КонецЦикла;<br><br>Как тогда должен выглядеть код? У меня была мысль использовать событие "Выбор"<br>"

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №6
 
11.05.2010 17:15

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

Yakovin
читатель
офлайн
Дата регистрации: 19.02.2007
Сообщений: 49
Пост №7
 
11.05.2010 17:19

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

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №8
 
11.05.2010 17:29

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

Yakovin
читатель
офлайн
Дата регистрации: 19.02.2007
Сообщений: 49
Пост №9
 
12.05.2010 08:41

Спасибо, все заработало, пункт 1 не выполнялся.

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация