Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

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

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

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

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

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

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

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

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

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

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

"Странный код - из него даже не понятно, что пытаетесь сделать.
> Вот в таком коде условие не выполняется
> номерВыбСтр = -1;
> Для счетчик = 0 По ЭлементыФормы.ДоговораТП.Колонки.Количество() - 1 Цикл

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

>       номерВыбСтр = счетчик;
> КонецЕсли;
> КонецЦикла;
>

Если обратить внимание на вашу переменную номерВыбСтр, получается, что ищите выбранную строку. Таким циклом (даже если бы он был правильный) - найдете последнюю выбранную строку. Если же нужна текущая, то чем не устраивает ЭлементыФормы.ДоговораТП.ТекущаяСтрока?"

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

"Мне не понятно как работать с ТаблицейЗначений. Если это аналог DataTable в С#, то сходства в использовании я не вижу. Я изменил цикл т.о.:

номерВыбСтр = -1;
счетчик = 0;
Для каждого СтрТаб Из ДоговораТП Цикл
ЗначениеФлажка = СтрТаб.Отметка; //отметка - имя колонки
Если ЗначениеФлажка = Истина Тогда
       номерВыбСтр = счетчик;
КонецЕсли;
счетчик = счетчик + 1;
КонецЦикла;

Как тогда должен выглядеть код? У меня была мысль использовать событие "Выбор"
"

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

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

Тоже самое, что у вас, только без счетчика:
> номерВыбСтр = -1;
> Для каждого СтрТаб Из ДоговораТП Цикл
> ЗначениеФлажка = СтрТаб.Отметка; //отметка - имя колонки
> Если ЗначениеФлажка = Истина Тогда
       номерВыбСтр = ДоговораТП.Индекс(СтрТаб);
> КонецЕсли;
> КонецЦикла;
"

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

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

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

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

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

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

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

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

Читают тему:

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

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги