Найти элемент формы по имени 1с
Но пишет ошибку, что переменная ЭлементыФормы не определена.
Вопрос: Как обратиться к элементу формы?
Можно ли обойти по элементам таблицу формы
возможен ли обход таблицы упр. формы в цикле ?
Не удается обращение к элементам и методам формы из другой формы
Добрый день, Создал 2 формы, на второй есть паблик метод, элемент и несколько переменных, доступа.
Обращение из родительской формы к элементам второй формы
Помогите пожалуйста, надо динамически вывести dataGridView с таблицами данных из БД на дочернюю.
Обращение из первой формы к элементам второй формы
Имеются две формы задача при нажатии на одну кнопку скрывать некоторые данные со второй формы, а.
Решение
Anastasia_Sokel, у вас обычная или управляемая форма?
Есть подозрение, что управляемая: вместо ЭлементыФормы используйте Элементы.
То пишет ту же ошибку: Переменная ЭлементыФормы не определена
Добавлено через 39 минут
Еще одна проблема: При изменении флажка пытаюсь отчистить поле ГосНомерКузова, но выдает ошибку что поле недоступно, хотя очистить его пытаюсь, когда оно еще доступно.
Обращалась к полю редактирования еще так Элементы.ГосНомерКузова.ТекстРедактирования=""; но ничего не вышло
обращение к элементам формы
Добрый день! у меня есть форма form1 , которая содержит в себе несколько div c классом wrap. В.
Обращение к элементам формы
Всем привет..такой вот вопрос. Можно ли обратиться к элементу формы по индексу? И можно ли.
Обращение к элементам формы
Хочу из cpp сменить свойство (Text) элемента textBox1. При Form1->textBox1->Text = "Test"; выдает.
Обращение из класса к элементам формы
Добрый вечер, подскажите пожалуйста, как из класса обратиться к элементам формы(image, label и .
Обращение к элементам формы из класса
Как из класса test.cs присвоить значение textbox1 из формы Form1?
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое COM-подключение к базе 7.7 из 8.2 1С 6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D: ВашаБаза 1с77 " ; Пользователь= Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне Посмотреть все результаты поиска похожих
Еще в этой же категории
Создание и запись нового элемента справочника 14
НаКлиенте Процедура ПоКнопкеНовыйКонтрагент(Команда) // Вставить содержимое обработчика. Перем НовыйКонтрагент; НовыйКонтрагент = Новый Структура(" Наименование, ПолноеНаименование, ИНН" ); НовыйКонтрагент.Наименование = " РиК ООО" ; НовыйКон Как для Выбора Элемента Справочника Открыть Форму Выбора с нужной Открытой Группой? 8
Порядок действий такой: 1. В поле ввода " Номенклатура" добавь событие ПриНачалеВыбора. 2. Установи в них СтандартнаяОбработка = Ложь; 3. Получи форму выбора нужного справочника 4. Установи отбор по родителю 5. Открой форму для выбора Теп Подбор из справочника на основе управляемых форм 2
В данной статье рассматривается технология реализации подбора на платформе 1С 8.2. Статья не претендует на академизм, просто столкнувшись с рядом проблем и не нашедшим «правильной» методологии решения (возможно плохо искал), решил пройти этот путь с Как установить префикс нумерации справочника? 2
УстановитьНовыйКод( ПрефиксКода ) Параметры: ПрефиксКода (необязательный) Тип: Строка. Строковое значение префикса. Если префикс указан, то новый код будет формироваться с учетом префикса. Описание: Устанавливает новый код. Если в коде Удаление элемента справочника 1
Внимание. Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка. Поэтому - лучше на удаляемые объекты ставить Посмотреть все в категории Справочники
Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Ввод по строке - поиск по первым символам или в любом месте наименования 6
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования! В 1С 8.3 по умолчанию настройки справочника номенклатуры такие: При такой настройке, механизм поиска в Веб браузер в 1С используя поле HTML документа 3
Настраивал клиенту CRM, он захотел - чтобы панель управления сайтом была в 1С. Хочет - делаем: Обработка Веб браузер проста, состоит из поля HTML документа и 20 строчек кода: Код команд: НаКлиенте Процедура Команда1(Команда) Объект.HTML = Посмотреть все результаты поиска похожих
Еще в этой же категории
Как очистить справочник удалив все не используемые элементы? 0
Очень часто менеджеры дублируют информацию в справочниках и время от времени их приходится чистить. Но как удалить только те элементы справочника, которые не используются в документах? Следующий пример кода поможет это сделать(в примере обрабатыва Вывод в поле Наименование справочника Штатное список значений из справочника Подразделения? 0
Есть два справочника Штатное и Подразделения. В справочнике Штатное есть автоматически генерируемое поле Наименование. Как программно сделать так чтобы в поле Наименование справочника Штатное выводились списком значений из поля Наименование справочн Посмотреть все в категории Справочники
Форма в 1С 8.3 - это визуальное отображение информации для работы пользователя с объектами информационной базы данных 1С. В платформе 1С 8.3 помимо устаревших обычных форм, используются управляемые формы (УФ), на которых реализуются все современные типовые конфигурации. Существенным отличием управляемых форм является их самостоятельное формирование структуры. Формы могут быть как в составе объектов, так и существовать отдельно от них и использоваться всеми объектами конфигурации в целом. Элементы формы служат для работы с данными формами. Также как и форма, элементы связаны с данными формы при помощи её реквизитов.
Основная форма объекта (открывается по умолчанию) //ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта");
Вспомогательная форма объекта (не основная, нужно указывать) //ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаЭСЧФ");
Произвольная форма (не привязана к конкретному объекту) //так же ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаЭСЧФ");
Обычное, Свертываемая и Всплывающая. Первые два используются довольно часто, а вот последняя встречается редко. Такая группа скрывает внутри себя все помещенные в неё элементы. А когда пользователь нажимает на её заголовок, то содержимое "всплывает". Выглядит похоже на открытие новой формы с блокировкой владельца. Но элементы не появляются в отдельном окне, а просто перекрывают основные данные.
✔ Программно открыть форму
Процедура ПоказатьФорму ( ОповещениеОЗакрытие = Неопределено, ПарФормы = Неопределено, ПарОткрытия = Неопределено) Экспорт
ПараметрыОткрытияФормы = Новый Структура ( "УУИД, ОкноФормы, СсылкаФормы, ВладелецФормы" , Ложь);
Если ПарОткрытия <> Неопределено Тогда
//( , , необяз., необяз.)
ЗаполнитьЗначенияСвойств ( ПараметрыОткрытияФормы , ПарОткрытия );
КонецЕсли;
ОткрытьФорму ( "РегистрСведений.КлассификаторСтранМира.Форма.ЗагрузкаКлассификатора" ,
ПарФормы , ПараметрыОткрытияФормы . ВладелецФормы , ПараметрыОткрытияФормы . УУИД ,
ПараметрыОткрытияФормы . ОкноФормы , ПараметрыОткрытияФормы . СсылкаФормы , ОповещениеОЗакрытие );
Процедура ПоказатьФормуСОтбором ( ОповещениеОЗакрытие = Неопределено, ПарФормы = Неопределено, ПарОткрытия = Неопределено)
ПараметрыОтбора = Новый Структура ( "Спелый" , Истина);
ПарФормы = Новый Структура ( "Отбор" , ПараметрыОтбора );
ОткрытьФорму ( "Справочник.Фрукты.Форма.ФормаВыбора" , ПарФормы );
&НаСервереБезКонтекста
Функция ПолучитьИмяФормыПоСсылке ( Ссылка )
ИмяФормы = "ФормаУправленияНастройками" ;
Возврат Ссылка . Метаданные (). ПолноеИмя () + "." + ИмяФормы ;
&НаКлиенте
Процедура Подбор ( Команда )
//Открытие формы выбора с отбором по цвету(равно), массе(равно или больше) и периоду (в пределах)
НастройкиКД = Новый НастройкиКомпоновкиДанных ;
ОтборКД = НастройкиКД . Отбор . Элементы . Добавить ( Тип ( "ГруппаЭлементовОтбораКомпоновкиДанных" ));
ОтборКД . ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных . ГруппаИ ;
// 1)
Если ЗначениеЗаполнено ( Объект . Цвет ) И НЕ Объект . Цвет . Пустая () Тогда
ОтборКД = ОтборКД . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ОтборКД . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "Цвет" );
ОтборКД . ВидСравнения = ВидСравненияКомпоновкиДанных . Равно ;
ОтборКД . Использование = Истина;
ОтборКД . ПравоеЗначение = Объект . Цвет ;
КонецЕсли;
// 2)
Если ЗначениеЗаполнено ( Объект . Масса ) И НЕ Объект . Масса . Пустая () Тогда
ОтборКД = ОтборКД . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ОтборКД . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "Масса" );
ОтборКД . ВидСравнения = ВидСравненияКомпоновкиДанных . БольшеИлиРавно ;
ОтборКД . Использование = Истина;
ОтборКД . ПравоеЗначение = Объект . Масса ;
КонецЕсли;
// 3)
Если ЗначениеЗаполнено ( Объект . Период ) Тогда
ОтборКД = ОтборКД . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ОтборКД . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "Дата" );
ОтборКД . ВидСравнения = ВидСравненияКомпоновкиДанных . БольшеИлиРавно ;
ОтборКД . Использование = Истина;
ОтборКД . ПравоеЗначение = Объект . Период . ДатаНачала ;
ОтборКД = ОтборКД . Элементы . Добавить ( Тип ( "ЭлементОтбораКомпоновкиДанных" ));
ОтборКД . ЛевоеЗначение = Новый ПолеКомпоновкиДанных ( "Дата" );
ОтборКД . ВидСравнения = ВидСравненияКомпоновкиДанных . МеньшеИлиРавно ;
ОтборКД . Использование = Истина;
ОтборКД . ПравоеЗначение = Объект . Период . ДатаОкончания ;
КонецЕсли;
//Настройки
фПараметры = Новый Структура ;
фПараметры . Вставить ( "ФиксированныеНастройки" , НастройкиКД );
фПараметры . Вставить ( "РежимВыбора" ,Истина);
фПараметры . Вставить ( "МножественныйВыбор" ,Истина);
// Элементы.СписокПроизвДок - Табличная часть формы, в которой будет отрабатывать событие "ОбработкаВыбора"
// после того как будут выбраны документы из формы выбора.
ОткрытьФорму ( "Документ.Производство.ФормаВыбора" , фПараметры , Элементы . СписокПроизвДок );
Многим в управляемых формах не хватает поиска по подстроке, который был реализован в обычных формах. Данная публикация описывает, как можно реализовать поиск в управляемых формах, который подобен механизму "поиска по подстроке" на стандартной панели обычных форм.
Пользователь кликают ячейку в колонку которая его интересует, когда решил что пора искать нажимает CTRL+S, набирает первые символы искомого объекта и далее нажимает вперед или назад. Поиск работает аналогично как обычных формах.
Краткое описание алгоритма:
Осуществляем выборку всех объектов, по правилам отбора которые настроены в динамическом списке и упорядочиваем наш результат выборки. Для того что бы результат запроса был пронумерован используем СКД с выводом в таблицу значений. Для того чтобы таблицу значений хранить на клиенте создаем реквизит на форме с типом таблица значений. Полученную таблицу из СКД, выгружаем в реквизит формы. И если пользователь нажал вперед то в динамическом списке делаем текущую строку, ссылку на следующий объект, после объекта активной строки из нашей таблицы значений в реквизите формы. И если пользователь нажал назад то в динамическом списке делаем текущую строку, ссылку на предыдущий объект, после объекта активной строки из нашей таблицы значений в реквизите формы.
Далее идет краткое описание пунктов на которые нужно обратить внимание когда вы будите писать аналогичный механизм на реальные управляемые формы. Эти пункты нельзя назвать инструкцией к написанию, вашего поиска, это скорее пункты по которым можно внести четкую ясность как работает код в опубликованной конфигурации на что можно ориентироваться при написании уже ваших алгоритмов.
1) Создаем форму списка
2) У формы списка создаем два реквизита
а) СтрокаПоиска с типом Строка
б) ВыборкаПоОбъект с типом таблица значений
3)На форме списка размещаем реквизит формы "СтрокаПоиска" в поле ввода и назначаем горячую клавишу "Ctrl+S".
5)В объекте, в нашем случае в номенклатуре создаем СКД с помощью которой будет формироваться список объектов по которым будет ходить курсор поиска. В СКД пишем запрос так что бы потом представлялось возможным открыть его в конструкторе запроса, а в коде заменить определенные подстроки и получить запрос к исполнению. А именно в время поиска важна Сортировка в списке объектов и то в какая ячейка сейчас выделена (по ней искать и нужно).
К примеру запрос
Номенклатура. Ссылка КАК Ссылка ,
Номенклатура.Родитель ,
Номенклатура.ОсновнойПоставщик.Наименование КАК ОсновнойПоставщик ,
Номенклатура.Наименование
ПОМЕСТИТЬ ТаблицаНоменклатуры
ИЗ
Справочник.Номенклатура КАК Номенклатура
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаНоменклатуры.Ссылка ,
ТаблицаНоменклатуры.Родитель ,
ТаблицаНоменклатуры.ОсновнойПоставщик ,
ТаблицаНоменклатуры.Наименование
ИЗ
ТаблицаНоменклатуры КАК ТаблицаНоменклатуры
ГДЕ
( &актинаяЯчйка ПОДОБНО &СтрокаПоиска
ИЛИ ТаблицаНоменклатуры. Ссылка = &Ссылка )
УПОРЯДОЧИТЬ ПО
&ПараметрУПР
В этом запросе потом меняем
ЯчекааПоиска = "ТаблицаНоменклатуры." + АктинаяЯчейка ;
ТекстЗапроса = СхемаКомпановкиДанныхР . НаборыДанных . УпорядТаблица . Запрос ;
ТекстЗапроса = СтрЗаменить ( ТекстЗапроса , "&ПараметрУПР" , Порядок );
ТекстЗапроса = СтрЗаменить ( ТекстЗапроса , "&актинаяЯчйка" , ЯчекааПоиска );
СхемаКомпановкиДанныхР . НаборыДанных . УпорядТаблица . Запрос = ТекстЗапроса ;
Обращаю внимание что все колонки по которым будет осуществляться поиск, выбираем данные во временную таблицу и преобразуем их в строки для возможности дальнейшего сравнения.
5) программно переносим отборы настроенные в динамическом списке в нашу СКД поиска (этого пока не реализовано в примере, если будет актуально хотя бы нескольким пользователям то можно и доработать).
6) Так же в настройках СКД предусмотрительно добавляем возможные отборы, для иерархического справочника это будет Родитель элемента.
В случае если поиск в иерархическом справочнике, и отображение не списком то будет заполнять отбор
Если ПараметрыПоиска . Отображение <> "Список" тогда
// Натсройка отборов
НастройкиР . Отбор . Элементы [ 0 ]. Использование =истина;
НастройкиР . Отбор . Элементы [ 0 ]. ПравоеЗначение = ССылка . Родитель ;
7) У элемента формы СПИСОК создаем событие "СписокПриАктивизацииЯчейки" в нем прописываем заполнение переменой "АктинаяЯчейка" объявленной в модуле формы:
8) У поля ввода "СтрокаПоиска" (пункт 3), создаем обработчик события "АвтоПодбор", в нем прописываем:
Процедура СтрокаПоискаАвтоПодбор ( Элемент , Текст , ДанныеВыбора , Ожидание , СтандартнаяОбработка )
ПараметрыПоиска = ФормированиеСтруктурыПоиска ();
ПоискПодобноНаСервер ( ПараметрыПоиска );
9)В обработчиках команд форм "ВПЕРЕД" и "НАЗАД" пишем
НомерТекущегоДокумента = СтрокаДокумента [ 0 ]. СистемныеПоляНомерПоПорядку ;
Если ВыборкаПоОбъект . Количество () > НомерТекущегоДокумента Тогда
Элементы . Список . ТекущаяСтрока = ВыборкаПоОбъект [ НомерТекущегоДокумента ]. ССылка ;
Иначе
Сообщить ( "Элемент не найден, или поиск окончен" );
КонецЕсли;
НомерТекущегоДокумента = СтрокаДокумента [ 0 ]. СистемныеПоляНомерПоПорядку ;
Если НомерТекущегоДокумента - 2 >= 0 Тогда
Элементы . Список . ТекущаяСтрока = ВыборкаПоОбъект [ НомерТекущегоДокумента - 2 ]. ССылка ;
Иначе
Сообщить ( "Элемент не найден, или поиск окончен" );
КонецЕсли;
10) Пишем вспомогательные процедуры
ПараметрыПоиска =Новый Структура ;
ПараметрыПоиска . Вставить ( "Порядок" , Строка ( ЭтаФорма . Список . Порядок ));
ПараметрыПоиска . Вставить ( "Ссылка" , Элементы . Список . ТекущаяСтрока );
ПараметрыПоиска . Вставить ( "АктинаяЯчейка" , АктинаяЯчейка );
ПараметрыПоиска . Вставить ( "СтрокаПоиска" , Элементы . СтрокаПоиска . ТекстРедактирования );
ПараметрыПоиска . Вставить ( "Отображение" , Строка ( Элементы . Список . Отображение ));
Возврат ПараметрыПоиска ;
&НаСервереБезКонтекста
Функция ПоискПодобно ( ПараметрыПоиска )
Порядок = ПараметрыПоиска . Порядок ;
АктинаяЯчейка = ПараметрыПоиска . АктинаяЯчейка ;
ССылка = ПараметрыПоиска . ССылка ;
СтрокаПоиска = ПараметрыПоиска . СтрокаПоиска + "%" ;
СхемаКомпановкиДанныхР = Справочники . Номенклатура . ПолучитьМакет ( "Поиск" );
ЯчекааПоиска = "ТаблицаНоменклатуры." + АктинаяЯчейка ;
ТекстЗапроса = СхемаКомпановкиДанныхР . НаборыДанных . УпорядТаблица . Запрос ;
ТекстЗапроса = СтрЗаменить ( ТекстЗапроса , "&ПараметрУПР" , Порядок );
ТекстЗапроса = СтрЗаменить ( ТекстЗапроса , "&актинаяЯчйка" , ЯчекааПоиска );
СхемаКомпановкиДанныхР . НаборыДанных . УпорядТаблица . Запрос = ТекстЗапроса ;
КомпновщиеНастроекР =Новый КомпоновщикНастроекКомпоновкиДанных ;
КомпновщиеНастроекР . ЗагрузитьНастройки ( СхемаКомпановкиДанныхР . НастройкиПоУмолчанию );
НастройкиР = КомпновщиеНастроекР . Настройки ;
НастройкиР . ПараметрыДанных . Элементы [ 0 ]. Значение = СтрокаПоиска ;
НастройкиР . ПараметрыДанных . Элементы [ 1 ]. Значение = ССылка ;
если ПараметрыПоиска . Отображение <> "Список" тогда
// Натсройка отборов
НастройкиР . Отбор . Элементы [ 0 ]. Использование =истина;
НастройкиР . Отбор . Элементы [ 0 ]. ПравоеЗначение = ССылка . Родитель ;
КонецЕсли;
КомпоновщикМакетаР =Новый КомпоновщикМакетаКомпоновкиДанных ;
МакетКомпоновкиР = КомпоновщикМакетаР . Выполнить ( СхемаКомпановкиДанныхР , НастройкиР , , , Тип ( "ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений" ));
ПроцессорКомпоновкиДанныхР =Новый ПроцессорКомпоновкиДанных ;
ПроцессорКомпоновкиДанныхР . Инициализировать ( МакетКомпоновкиР );
ПроцессорВыводВКолецкцию =Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений ;
ВыборкаПоОбъект = Новый ТаблицаЗначений ;
ПроцессорВыводВКолецкцию . УстановитьОбъект ( ВыборкаПоОбъект );
ПроцессорВыводВКолецкцию . Вывести ( ПроцессорКомпоновкиДанныхР );
&НаСервере
Процедура ПоискПодобноНаСервер ( ПараметрыПоиска )
табл = ПоискПодобно ( ПараметрыПоиска );
Если ТипЗнч ( табл )= ТИп ( "ТаблицаЗначений" ) тогда
ЗначениеВРеквизитФормы ( табл , "ВыборкаПоОбъект" );
ЭтаФорма . СтрокаПоиска = ПараметрыПоиска . СтрокаПоиска ;
КонецЕсли;
КонецПроцедуры
Читайте также: