Как позиционировать тек. строку на ТЧ

Тема в разделе "1C и всё что с ней связано", создана пользователем Дайнеко, 27 сен 2011.

  1. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Хочу, чтобы при открытии документа, курсор стал на определенную строку.
    Код ( (Unknown Language)):
            Для Каждого СтрокаТов из Документ.Товары Цикл
    Если ??? Тогда
    НомСтр = СтрокаТов;
    Прервать;
    КонецЕсли;
    КонецЦикла;

    ДокФорма = Документ.ПолучитьФорму();
    ДокФорма.Открыть();
    Если ЗначениеЗаполнено(НомСтр) Тогда
    ДокФорма.ЭлементыФормы.Товары.ТекущаяСтрока = НомСтр;
    КонецЕсли;
    Не пашет! ДокФорма.ЭлементыФормы.Товары.ТекущаяСтрока начальное значение Неопределено. Таким и остается.
    В 7-ке делал по-другому - передавал в документ номер строки. А тот через Форма.Параметр получал и сам устанавливал строку.
    Так бы и хотелось, но тогда может кто-то подскажет, как красиво передать параметры форме.
     
  2. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Через параметры сеанса?
     
  3. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Покопался в СП. Попробуйте сначала определить отладчиком, какой тип имеет ТекущаяСтрока. Скорее всего, это не число вовсе.
    Можно попробовать присвоить Документ.Товары[НомСтр-1], или присвоить это ТекущимДанным.
     
  4. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Фи, батенька, у Вас дурной скус. Это как через глобальные переменные.

    1) Я об этом и написал, = Неопределено и до и после присвоения.
    2) Обращаю внимание, что я пытаюсь записать в нее не числовой номер строки, а строку ТЧ, которую запомнил в ходе просмотра док-та.
     
  5. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    1) Я имел в виду, какой у нее тип, когда она определена.
    Да ваш скус тоже не восхищает) В переменной с названием НомСтр обычно ожидаю увидеть номер строки)
    А вот присвоение текущим данным не проходит?
    В УФ, сколько помню, ТекущаяСтрока - это некий идентификатор.
     
  6. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Странно а у меня работает такая конструкция:

    ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока = ТабличнаяЧасть1[2];

    В результате при открытии активной становится 3- я строка.
    Вызывается при открытии формы. Проверено в 8.1
     
  7. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Давайте расставим понятия. ТекущаяСтрока имеет тип строка ТЗ. Я с успехом пользуюсь ей в рамках открытой формы. Сейчас же не получилось присвоить ей значение, полученное в ходе перебора строк ТЧ Для Каждого. Выходит разные типы данных.

    Спасибо, теперь я смогу позиционироваться по номеру строки. Даже, назло критиканам, не буду менять имя переменной.

    Вот только одна мысль гложет: ЭлементыФормы.ТабличнаяЧасть1 - объект формы, а ТабличнаяЧасть1, т.к. написана без указания объекта, значит реквизит источника данных. Здесь выходит, они совпадают по типу.
     
  8. Darlock

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Пусть буду критиканом, НО: не по номеру строки, а по индексу.

    не факт, первый вариант - имя элемента формы (можно и "ЗООПАРК" написать) видеть вы будете то, что указано в графе "Данные" (как правило имя ЭУ и реквизита объекта (табличной части объекта и т.п.) совпадает.
     
  9. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Рад видеть проснувшегося ветерана.
     
Загрузка...

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