МГ: сессия от 2010-07-30
Сессия выходного дня, представляем вашему вниманию 10 видео-уроков.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
Скажите пожалуйста, после просмотра видео-уроков у меня возник такой вопрос. В табличном поле в 8.1. при нажатии на Ctrl+F возникало окно поиска. Что-то никак не могу разобраться, как это сделать в 8.2. в режиме обычного приложения. Окошко поиск на стандартной панели тоже не доступно, когда активизировано табличное поле.
Не подскажите, что не так делаю?
Нажмите любую букву, окно отбора откроется. Поиска как такового в управляемых формах нет..
Я кое-что подметил! Я может неправильно выразился. Смотрите что я пытаюсь сделать. Вытащил на обычную форму Табличное Поле, дал ему имя ТП, поставил типЗначения ТаблицаЗначений, в данные – прописал тоже ТП. Дальше жму Ctrl+F – открывается окно поиска, все хорошо.
Дальше продолжил эксперимент. Вытащил кнопку – и прописал по нажатию такой код:
ТП = ТЗ; //ТЗ сформировал ранее
На форме в табличном поле действительно отображается мое ранее сформированное ТЗ, но комбинация CTRL+F уже не доступна. Я поставил галочку у формы, чтобы значения в табличном поле сохранялись и прописал в сохраняемые значения мое ТП. Переоткрываю обработку – и в ТП CTRL+F уже работает :( Не могу понять, что делаю не так.
Странное поведение.
Выкладывайте код формирования ТЗ, посмотрю.
На форме расположено табличное поле с именем ТП (данные: ТП, типЗначения: Таблица значений).
У табличного поля 2-е колонки: колонка1, колонка2
//комбинация Ctrl+F работает
Процедура ОсновныеДействияФормыРаботает(Кнопка)
ТП.Очистить();
Для Сч = 0 по 10 Цикл
НоваяСтрока = ТП.Добавить();
НоваяСтрока.Колонка1 = Сч;
НоваяСтрока.Колонка2 = Сч;
КонецЦикла;
КонецПроцедуры
//комбинация Ctrl+F не работает
Процедура КнопкаВыполнитьНажатие(Кнопка)
ТЗ = Новый ТаблицаЗначений();
ТЗ.Колонки.Добавить(“Колонка1”);
ТЗ.Колонки.Добавить(“Колонка2”);
Для Сч = 0 по 10 Цикл
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Колонка1 = Сч;
НоваяСтрока.Колонка2 = Сч;
КонецЦикла;
ТП = ТЗ;
КонецПроцедуры
Поясню: в первой процедуре, я просто добавляю строки в таблицу значений ТП, которая является данными для табличного поля. Ctrl+F работает.
Во-второй процедуре, я сначала формирую ТЗ, а потом подсовываю его табличному полю. Ctrl+F уже не работает
Вот моя обработка: http://depositfiles.com/files/z2r26r17b
Озадачили вы меня, уж думал ошибка платформы ))
Но при внимательном рассмотрении оказалось, что код в этих методах не эквивалентен.
Ведь при создании ТЗ вручную мы не указываем тип данных для колонок.
Попробуйте использовать:
ТЗ.Колонки.Добавить(“Колонка1”, Новый ОписаниеТипов(“Строка”));
ТЗ.Колонки.Добавить(“Колонка2”, Новый ОписаниеТипов(“Строка”));
Как всегда, Вы оказались правы, Евгений! Все получилось!!! Спасибо за разъяснение!
Вопрос возник (Каша из курса и МГ)
Вот у меня В Регистре (как и в документе прихода) Измерение Контрагент это и справочник Контрагентыа и справочник Сотрудники. Как в запросе вывести только остатки, принадлежащие сотрудникам? То есть условие потипу справочника?
Или вот в типовой УТ есть Продажи и там измерение ДокументыПрождаж. Как Выести сведения в запросе тодко по одному виду документа?
Есть такой логический оператор языка запросов ССЫЛКА.
Примерно такое условие
WHERE
Р1.ДокументПродаж ССЫЛКА Документ.РеализацияТоваровИУслуг.
3 – в итоге не показали, как пост-условие делать, и как пред-условие – с помощью конструктора это возможно?
Да, возможно. Рассмотрим в продвинутом.