#0
by Mustang
Подскажите как программно установить текущую строку. Я понимаю что нужно юзать "ТекущаяСтрока", но ей присваивается не номер строки, а индекс. Тогда как получить индекс следующей строки.
#7
by Mustang
Как получить индекс текущей строки я понимаю, а как получить индекс следующей строки (она не активна).
#9
by Aprobator
Переход на след. строку: [1С] Элементы.Погрузки.ТекущаяСтрока = ТЗсвязаннаяСТаблПолем[ИндексТекСтроки + 1] [/С] ну еще довесить контроль на последнюю и первую строку.
#11
by Mustang
Таак. Чет я совсем похоже заблудился. "ТЗСвязаннаяСТаблПолем.Индекс(Элементы.Погрузки.ТекущаяСтрока)" В Индекс(...) Нужно передать строку, для того чтоб получить индекс. "Элементы.Погрузки.ТекущаяСтрока" - Содержит идентификатор текущей строки но не строку. Соответственно: "ТЗСвязаннаяСТаблПолем.Индекс(Элементы.Погрузки.ТекущаяСтрока)" = -1
#14
by Phace
"под свой случай думаю сам доведешь" Не, вижу не доведешь :) -1 и +1 (с проверкой) сделать не в силах?
#15
by ll13
Элементы.СписокФайлов.ТекущаяСтрока (число) Индекс текущей строки, начинается помоему с 0 Соответственно поднять вверх Элементы.СписокФайлов.ТекущаяСтрока=Элементы.СписокФайлов.ТекущаяСтрока + 1; Проверяй на начало и конец
#20
by Phace
"Давайте я попробую объяснить вам на таблицах первого уровня (чтобы не загромождать объяснение), а вы уже сами сделаете то же самое для других таблиц. Дело в том, что таблица, которая в форме, элемент формы, и таблица, которая в реквизите (ДанныеФормыКоллекция) - это разные таблицы. Это две разные коллекции. Они, конечно, однозначно связаны между собой. То есть зная строку одной таблицы можно получить соответствующую ей строку другой таблицы. Но эта связь не такая, как вы ее себе представляете: ГлавнаяТаблицаЗначений[Элементы.ГлавнаяТаблицаЗначений.ТекущаяСтрока] ТекущаяСтрока у таблицы в форме это не индекс таблицы в реквизите. Эти две таблицы связаны через Идентификатор. У таблицы в форме идентификатор можно получить как раз через текущую строку: Идентификатор = Элементы.ГлавнаяТаблицаЗначений.ТекущаяСтрока; У таблицы в реквизите (ДанныеФормыКоллекция) есть метод НайтиПоИдентификатору(Идентификатор), который вернет вам строку, соответствующую текущей строке в таблице формы. В обратную сторону аналогично. Если вы знаете строку у таблицы в реквизите, вы можете найти (или установить курсор на) строку, соответствующую ей в таблице в форме. У строки таблицы в реквизите (ДанныеФормыЭлементКоллекции) есть метод ПолучитьИдентификатор: Идентификатор = СтрокаГлавнойТаблицыЗначений.ПолучитьИдентификатор; А у таблицы в форме - известное уже свойство ТекущаяСтрока: Элементы.ГлавнаяТаблицаЗначений.ТекущаяСтрока = Идетнификатор; Таким образом перед выполнением манипуляций вам нужно узнать, какая строка в таблице реквизита соответствует текущей строке в таблице формы. Каким-то образом запомнить, что это за строка. После выполнения манипуляций в таблице реквизита вам нужно найти эту запомненную строку, получить ее идентификатор и таблице в форме сказать, что ее текущая строка должна быть равна этому идентификатору." (с) Максим Радченко, 1С
#23
by Mustang
Да как текщую строку определить я знаю. Мне пример тот ничего нового не дал. Ну определил я текущую строку. Узнал что у нее идентификатор 300, следущая строка идет с идентификатором 512. Мне какой смысл от текущей строки или от идентификаторм 300?
#25
by shuhard_серый
задачку целиком опиши что за форма, что за таблица, что за данные в ней вопрос актуальный, результат востребованный
#27
by Mustang
ОК. Идет заполнение строк таблицы^ Перваоя строка - идентификатор 0 Вторая строка - иднетификатор 1 Третья строка - идентификатор 2 После, удаляем "Вторую строку", при этом идентификаторы не сбиваются. Вот с этим путать не нужно. Получиться: Первоя строка - идентификатор 0 Вторая строка (была Третья строка) - идентификатор 2 По примеру: Текущая трока "Первоя строка" получаю идентификатор 0. Прибавляю 1. Получаю идентификатор 1 (уже не существующей строки). В результате Error.
#28
by Phace
"По примеру: Текущая трока "Первоя строка" получаю идентификатор 0. Прибавляю 1. Получаю идентификатор 1 (уже не существующей строки). В результате Error." Да ты почитай внимательно, ты получаешь сначала следующую строку от текущей, а затем только определяешь ее идентификатор, а не наоборот.
#30
by ll13
Реквизита "НомерСтроки" может и не быть ... Я вроде бы разобрался с тонкостями работы с ТЗ на форме, делаю так:
#32
by ll13
Создайте реквизит формы ТЗ типа "ТаблицаЗначений" к примеру с одним столбцом типа текст. Перетащите ТЗ1 в Элементы, что бы она отображалась на форме. В таком случае Элементы.ТЗ1.ТекущиеДанные.НомерСтроки - "Поле объекта не определено ..." хотя Элементы.ТЗ1.ТекущиеДанные определено и содержит ДанныеФормыЭлементКоллекции
#33
by Phace
Логично, но это потому что в ТЗ данных то нет, поэтому и неопределено, как только данные появятся и НомерСтроки, или я не прав (1С нет под рукой сейчас)?
#35
by ll13
Не появиться, несколько раз проверял на НЕ пустой ТЗ ) ... У Типа ДанныеФормыЭлементКоллекции нет встроенного свойства НомерСтроки, его свойства зависят от объекта которые он моделирует. Если он фактически ничего не моделирует, как в описанном ной случае, то и свойства такого у него нет. Из синтаксис-помощника: "Описание: Набор свойств элемента коллекции зависит от того, на основе какого объекта построена данная коллекция. Может включать в себя свойства, значениями которых будут являться другие универсальные структуры, универсальные коллекции и наборы записей." Но Вы всё равно проверьте, 8.2 такая штука - никому не верь, даже собственным глазам )
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Текрасшифровка# в таблице
- Можно ли в таблице как-то скрыть курсор?
- Как программно установить текущую строку в табличной части
- Установить фильтр в индексированной таблице
- вопрос по ворду, можно ли в таблице установить фильтр или отбор
- Как в табличном поле ДокументСписок установить текущую строку?
- СКД: как установить параметры виртуальной таблице?
- 8.2 Управляемая форма как установить текущую строку в таблице на форме?
- Установить текущую строку в Динамическом списке
- v7: Как в таблице значений установить высоту заголовка
- УТ 11.1 Как установить текущую строку дерева значений
- Как установить текущую строку в таблице на форме?
В этой группе 1С
- 8.2 Как сравнить значение с перечислением?
- v8: Вывод области макета в колонтитул
- Загрузка в 1с из формата .db
- Зависает оборотно-сальдовая ведомость за неполный месяц
- Как программно развернуть табличный документ во весь экран
- Почтовый сервер (динамический IP)
- Как в интервале на Диаграмме Ганта вывести текст?
- как поставить условие на дату документа?
- УПП Как отразить начисление процентов по займам?
- Удалить кнопку панели инструментов 1С 8
- ЗУП: откуда берет норму времени, если не из графика?
- Как зафиксировать колонки в ТП (Разделитель)?
- v8: Ошибка:Тип не определен
- процедура ОбработкаОжидания в 7.7.
- СКД: Предопределенные макеты и расшифровка
- Номера колонок в СКД
- 8.2 Как управляемую форму, при открытии, вывести на первый план?
- Конфигурация начального образа из Плана обмена отличается от Центральной конфигурации
- УПП - Базы распределения косвенных расходов
- Внешняя печатная форма с изпользованием СКД. Возможно ли так сделать ?