8.х Табличная часть на форме и как работает индекс строки

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Aston, 31 янв 2013.

  1. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Привет всем!
    Не могу разобраться в следующем.
    Платформа 8.2 Управляемое приложение.
    На форму кинул таблицу значений, в которую выгружаю данные с табличной части объекта (документа) но не все, а только определённые.
    Вот код процедуры при копировании - где именно и проблема
    Код:
    &НаКлиенте
    Процедура ТЗРасшифровкаЭтажейПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
    Если Копирование Тогда
    
    ТекущиеДанные = Элементы.ТЗРасшифровкаЭтажей.ТекущиеДанные;
    ИндексСтроки = Элементы.ТЗРасшифровкаЭтажей.ТекущаяСтрока; 
    Если ТекущиеДанные = Неопределено Тогда
    Возврат;
    КонецЕсли;
    
    
    НоваяСтрока = ТЗРасшифровкаЭтажей.Добавить();
    ЗаполнитьЗначенияСвойств(НоваяСтрока, ТекущиеДанные);
    
    НоваяСтрока.НомСтроки = ТЗРасшифровкаЭтажей.Количество();
    
    НоваяСтрока.УИТекущейРасшифровки = Новый УникальныйИдентификатор;
    
    Элементы.ТЗРасшифровкаЭтажей.ТекущаяСтрока = ИндексСтроки + 1;
    
    Отказ = Истина;
    Возврат;
    
    КонецЕсли;
    КонецПроцедуры
    Проблему показываю на скринах.

    Я так понимаю, что индекс он прописывает именно табличной части, а в таблице значений на форме другой индекс и как кинуть фокус на строку именно новой строки не пойму.
    Подскажите как побороть эту беду.

    Вложения:

    • 1.JPG
      1.JPG
      Размер файла:
      76,2 КБ
      Просмотров:
      53
    • 2.JPG
      2.JPG
      Размер файла:
      75,1 КБ
      Просмотров:
      55
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Чет я совсем не понял, что Вы пытаетесь сделать.
    Опишите задачу. Что в результате должно получиться?

    Свойство "ТекущаяСтрока" возвращает не индекс строки, а идентификатор строки. Да, чаще всего, он соответствует индексу, но, на самом деле, это не одно и то же ))
  3. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Задача очень простая. Необходимо при копировании кинуть фокус на новую строку вот и всё.
  4. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Всё проблему решил, оказалось всё очень просто НоваяСтрока.ПолучитьИдентификатор() :) Тема закрыта )
  5. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Так новая строка же, вроде, стандартно всегда активизируется ...
  6. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Ты заметил код выше - в обработке при добавлении нового Отказ = Истина :)
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Отказ = истина - это отказ от добавления строки в принципе, как же вы на нее будете фокусироваться если отказались от ее добавления, или я что-то не так поняла?
  8. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Я отказался от стандартного добавления строки и сделал своё - посмотри код который самый первый в этой теме.
  9. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    давно ли мы на "ты"....

    по теме: я не слепая и код вижу. Может быть на управляемых формах отказ=истина равносильно СтандартнаяОбработка = ложь (в чем я сильно сомневаюсь)?!
  10. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Смотри Процедура перед началом добавления, один из входящих параметров Отказ, если истина то не добавлять - да и это управляемые формы.

Поделиться этой страницей