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

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

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

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


Теги:
 

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

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

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

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

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

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

Ответов: 1
Просмотров: 2273
Последний ответ 17 Авг 2015, 07:48
от cska-fanat-kz
Модуль к форме "Настройка заполнения"

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

Ответов: 2
Просмотров: 4470
Последний ответ 17 Янв 2014, 16:35
от oyufed
Отображение HTML-макета в форме с HTML-полем.

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

Ответов: 0
Просмотров: 3605
Последний ответ 21 Авг 2014, 17:51
от spikee666

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
171 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal