Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
27 Май 2018, 11:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Таблица значений на форме неправильно возвращает номер текущей строки  (Прочитано 13297 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн IgorJ

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-23
  • Сайт: 
  • Профессия: Программист 1С
На форме есть таблица значений с одним реквизитом "Код". Заполняю, очищаю таблицу.... При просмотре номера текущей строки таблицы значений возвращаются числа больше количества строк этой таблицы. С каждым очищением и последующей загрузкой это номер текущей строки ростет! Это конечно пример , урезанный максимально. Поделитесь соображениями - очень нужно!!!! 
&НаКлиенте
Процедура ЗаполнитьТаблицу(Команда)
        ЗаполнитьТаблицуНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьТаблицуНаСервере()
       Для i=1 По 10 Цикл
               q=Объект.ТабличнаяЧасть1.Добавить();
                q.Код=i
       КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ОчиститьТаблицу(Команда)
      ОчиститьТаблицуНаСервере();
КонецПроцедуры

&НаСервере
Процедура ОчиститьТаблицуНаСервере()
      Всего=объект.ТабличнаяЧасть1.Количество();
      Если Всего>0 Тогда
                 Для i=0 По Всего-1 Цикл
                             объект.ТабличнаяЧасть1.Удалить(Всего-1-i);
                КонецЦикла;
      КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Справка(Команда)
      Сообщить(Элементы.ТабличнаяЧасть1.ТекущаяСтрока);
      Сообщить(Объект.ТабличнаяЧасть1.Количество());
КонецПроцедуры


Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Все правильно, ты у формы спрашиваешь под каким номером создавалась строка в элементе. Он не может быть удален или понижен.
Создал, значит +1

Если надо узнать тек строку, обращайся примерно так

Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки

Оффлайн IgorJ

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-23
  • Сайт: 
  • Профессия: Программист 1С
Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки - Это действительно работает. Номер текущей строки мне нужен для установки курсора на нужную строку таблицы. Если номера текущих строк постоянно изменяются - как же поставить курсор на нужную позицию???? И как использовать "ТекущиеДанные.НомерСтроки"? На экране мне нужно установить курсор на 3 строку(к примеру), а по данным "текущей строки " это 20 или 33.

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Элементы.ТабличнаяЧасть1.ТекущиеДанные.НомерСтроки - Это действительно работает. Номер текущей строки мне нужен для установки курсора на нужную строку таблицы. Если номера текущих строк постоянно изменяются - как же поставить курсор на нужную позицию???? И как использовать "ТекущиеДанные.НомерСтроки"? На экране мне нужно установить курсор на 3 строку(к примеру), а по данным "текущей строки " это 20 или 33.

1с стандартными средствами курсор мыши никуда не устанавливает, да и никому никогда не нужно это, как минимум НЕУДОБНО!

Если надо взять данные, их надо брать из объекта, как их найти уже показал. В экстрасенсов играть никто не будет, скриншот и реальную проблему.

Если уж вообще надо, то

НужнаяСтрока = 22;
Искать = ИСтина;
Пока Искать Цикл
Попытка
Элементы.ТабличнаяЧасть1.ТекущаяСтрока = НужнаяСтрока;
Искать = Ложь;
Исключение;
НужнаяСтрока = НужнаяСтрока - 1;
КонецПопытки;
КонецЦикла;

Я бы сделал самый обычный поиск, да и все.

Оффлайн IgorJ

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-23
  • Сайт: 
  • Профессия: Программист 1С
В экстрасенсов не верю. Проблема в следующим: Нужно установить текущую строку на 3 позицию .
Элементы.ТабличнаяЧасть1.ТекущаяСтрока =3        Работает только при первой загрузке таблицы значений. После перезагрузок у 3 строки на экране на самом деле номер уже изменившийся. И чтобы сделать текущей 3 строку может потребоваться . Элементы.ТабличнаяЧасть1.ТекущаяСтрока =3333. Мне нужен этот 3333 номер. 

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
А попробуй ЭтаФорма.Обновить() :bleh:

Если не получиться, то 3-яя строка никогда не станет 333.

Кто мешает поиском искать строку? ТЧ.Найти(НужнаяСтрока) Или по значениям искать. Или по номеру строки искать. Последний раз поиграл в экстрасенса.

Оффлайн IgorJ

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-23
  • Сайт: 
  • Профессия: Программист 1С
   ЭтаФорма.ОбновитьОтображениеДанных();  - не помогло
   ЭтаФорма.Обновить();                   - метод не обнаружен.

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
ТаблицаФормы.Обновить()

Еще раз, не следует привязывать программку к этим индексам.
Спозиционироваться можно по найдя определенные данные в ТЧ, что будет правильнее.

Оффлайн IgorJ

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-23
  • Сайт: 
  • Профессия: Программист 1С
Правельнее и логичнее - ДА!!!!!!
На практике номера строк в ТЧ и номера строк на экране не совпадают (иногда). Если спозиционировать на нужные данные ТЧ - не факт что спозиционируется нужная строка(у меня ни какая не позиционируется, разные диапазоны номеров ТЧ и экрана)

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Нужно поставить курсор на "третью строку" на экране, а не на третью строку таблицы? Так что ли?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Группа "СписокКомпоновщикНастроекПользовательскиеНастройки" в форме "Перечисления"

Автор Азамат ХубиевРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2147
Последний ответ 12 Ноя 2016, 18:08
от Азамат Хубиев
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 525
Последний ответ 12 Окт 2017, 14:02
от wise
Как настроить отображение на форме "группа плательщика единого налога" при выборе системы налогообложения "Единый налог"?

Автор Nicolayci91Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2561
Последний ответ 17 Авг 2015, 07:48
от cska-fanat-kz
Обнаружено дублирование ключевых значений в колонке ссылка ["обнаружено дублирование ключевых з

Автор lianinfoРаздел Пользователям "1С - Предприятие 8"

Ответов: 10
Просмотров: 691
Последний ответ 20 Мар 2018, 16:54
от alex0402
Модуль к форме "Настройка заполнения"

Автор oyufedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4862
Последний ответ 17 Янв 2014, 16:35
от oyufed

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
alex0402
67 Сообщений
oleg-x
56 Сообщений
AIFrame AIFrame
51 Сообщений
buketov.av buketov.av
47 Сообщений
wise wise
41 Сообщений
ilyay ilyay
39 Сообщений
Анюта17
33 Сообщений
Alter
32 Сообщений
alexandr_ll
30 Сообщений

* Кто онлайн

  • Точка Гостей: 161
  • Точка Скрытых: 0
  • Точка Пользователей: 7
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal