Обновление или повторный запрос данных. Программное добавление и изменение элементов управляемых форм Когда появляются текущие данные на форме 1с

Платформа 1С:Предприятие позволяет программно добавлять и изменять элементы управляемой формы. Разберемся для чего это может потребоваться.

Программная модификация формы может потребоваться в нескольких случаях:

  • При доработке типовых конфигураций для облегчения процедуры последующего обновления. В этом случае будет изменен только модуль формы. Модули намного проще обновлять, чем форму.
  • При реализации некоторых общих алгоритмов. Например, в подсистеме «Запрет редактирования реквизитов объектов» для всех подключенных к подсистеме объектов предусмотрено программное создание кнопки для включения возможности редактирования реквизитов.
  • При реализации некоторых специфических алгоритмов. Например, в справочнике Номенклатура создаются поля для редактирования дополнительных реквизитов.

В управляемой форме можно программно добавить, изменить и удалить:

  • реквизиты;
  • локальные команды;
  • элементы.

Все указанные операции возможны только на сервере.

Программное изменение формы имеет ограничения:

  • Удалить можно только программно добавленные реквизиты/команды/элементы. Нельзя программно удалить объекты, созданные в конфигураторе.
  • Нельзя назначить реквизит основным.

Изменение команд формы

Для управления составом команд у объекта УправляемаяФорма есть коллекция Команды

    Добавить(< ИмяКоманды >)

    Количество ()

    Найти(< ИмяКоманды >)

    Удалить(< Команда >)

Коллекция Команды доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Добавить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере.

В качестве примера работы с командами формы создадим новую команду ИсторияИзменений с заголовком «История изменений…», которая будет вызвать обработчик ОтобразитьИсторию () . Создание выполняется при открытии формы.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Команда = Команды. Добавить(«ИсторияИзменений» );
Команда. Действие = ;
Команда. Заголовок = «История изменений…» ;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОтобразитьИсторию(Команда )
// действия команды
КонецПроцедуры

Обработчик команды должен располагаться в форме и иметь директиву компиляции &НаКлиенте .

Изменение реквизитов формы

Чтение состава реквизитов формы выполняется функцией ПолучитьРеквизиты (< Путь >) , возвращающей массив типа РеквизитФормы . Параметр функции указывает путь к родительскому реквизиту (в виде строки). Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня.

Изменение реквизитов выполняется методом ИзменитьРеквизиты (<ДобавляемыеРеквизиты >, <УдаляемыеРеквизиты >) объекта УправляемаяФорма . В параметры ДобавляемыеРеквизиты и УдаляемыеРеквизиты передаются массивы с элементами типа РеквизитФормы .

Внимание!

Процесс изменения состава реквизитов является достаточно ресурсоемким. Фактически выполняется пересоздание формы. В связи с этим работа с реквизитами формы выполняется в пакетном режиме.

Создадим новый реквизит формы с именем Покупатель:


ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты. Добавить(Новый РеквизитФормы («Покупатель», Новый ОписаниеТипов («СправочникСсылка.Контрагенты»), «Клиент»));

// Изменения состава реквизитов
);

Изменение элементов формы

Для управления составом элементов у объекта УправляемаяФорма есть коллекция Элементы . У коллекции есть несколько методов:

    Вставить(< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    Добавить(< Имя>, < ТипЭлемента>, < Родитель >)

    Количество ()

    Найти(< Имя >)

    Переместить(< Элемент>, < Родитель>, < МестоРасположения >)

    Удалить(< Элемент >)

Коллекция Элементы доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Вставить() , Добавить () , Переместить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере. Элементами коллекции могут быть:

  • ГруппаФормы;
  • ТаблицаФормы;
  • ПолеФормы;
  • КнопкаФормы.

Элементам формы можно программно назначить обработчики событий. Для этих целей предназначен метод УстановитьДействие(< ИмяСобытия>, < Действие >) .

Рассмотрим несколько наиболее распространенных на практике примеров работы с командами, реквизитами и элементами формы.

Добавление команды и связанной с ней кнопки:

// Создание команды
Команда = Команды. Добавить(«ИсторияИзменений» );
Команда. Действие = «Подключаемый_ОтобразитьИсторию» ; // В форме должна быть процедура с указанным наименованием
Команда. Заголовок = «История изменений…» ;
// Создание кнопки и связь ее с командой
Элемент = Элементы. Добавить(«ИсторияИзменений» , Тип(«КнопкаФормы» ));
Элемент.ИмяКоманды = «ИсторияИзменений» ;

Добавление реквизита и связанного с ним поля ввода:

// Описание добавляемых реквизитов
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты. Добавить (Новый РеквизитФормы («Покупатель» , Новый ОписаниеТипов («СправочникСсылка.Контрагенты» ), «Клиент» ));
// Изменение состава реквизитов
ИзменитьРеквизиты(ДобавляемыеРеквизиты );
// Создание поля ввода и связь с реквизитом
Элемент = Элементы. Добавить(«Покупатель» , Тип(«ПолеФормы» ));
Элемент. Вид = ВидПоляФормы. ПолеВвода;
Элемент. ПутьКДанным = «Покупатель» ;

Назначение элементу формы обработчика события:

ЭлементПокупатель. УстановитьДействие («ПриИзменении» , «Подключаемый_ПокупательПриИзменении» );

&НаКлиенте
Процедура Подключаемый_ПокупательПриИзменении (Элемент )
// Действия события
КонецПроцедуры

Внимание!

Процедурам, которые устанавливаются в качестве обработчиков событий из кода с помощью метода УстановитьДействие() , рекомендуется задавать префикс Подключаемый_.

Внимание!

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

Фирма 1С постоянно выпускает новые релизы своих конфигураций: добавляет новые возможности, обновляет формы отчетности.

Поэтому конфигурации своих информационных баз тоже постоянно нужно обновлять. Программа 1С даже сама об этом напоминает и предлагает сделать обновление. Обновить 1С 8.3 самостоятельно можно двумя способами: через конфигуратор или через интернет. Рассмотрим пошаговую инструкцию по обновлению 1с и что же нужно сделать после этой процедуры на примере .

Обновление программы 1С 8 через интернет

Чтобы обновить 1С 8.3 по интернету, зайдем в меню «Администрирование» и найдем раздел «Обновление версии программы»:

Сначала зайдем в раздел «Настройка обновления программы через Интернет»:

В этом окне самое главное — ввести код пользователя и пароль, без них нельзя будет подключиться к сайту с обновлениями. Их Вы должны были получить вместе с . Если по каким-либо причинам у Вас их нет, рядом есть ссылка, по которой Вы перейдете в свой личный кабинет на сайте поддержки, и там будут все данные.

Здесь же можно отключить автоматическую проверку обновлений, настроить проверку по расписанию или при каждом входе в программу.

Оставляем переключатель на «Автоматическом обновлении» и жмем «Далее». Если найден более новый релиз программы, чем текущий, появится соответствующая информация.

Для моей конфигурации нашлась более новая версия, и сейчас 1С я попробую обновить. Обратите внимание на размер обновления, так как оно скачивается и распаковывается в каталог пользователя, который находится на диске «C:». Соответственно, на нем должно быть достаточно свободного места. Кстати, здесь можно почитать, какие изменения и новшества в обновлении. Нажимаем «Далее».

Как ни странно, программа не смогла с первого раза подключиться к своему серверу из-за того, что использовала мой старый код и пароль, хотя в настройках я указал все верно:

Нажимаю «ОК», ввожу верные данные и нажимаю «Далее». Надеюсь, у Вас такого окна не появится.

Программа начнет получать файл с обновлениями. В зависимости от скорости интернета, это может оказаться довольно длительный процесс. У меня занял несколько минут. В следующем окне нам предстоит выбрать, обновляться немедленно или по окончании работы. Если Вы решили обновляться немедленно, убедитесь, что в базе больше никто не находится. Обновление происходит в монопольном режиме.

Получите 267 видеоуроков по 1С бесплатно:

Здесь же будет предложено сделать резервную копию перед обновлением. Я советую ОБЯЗАТЕЛЬНО делать резервную копию базы 1С, убедился на собственном опыте. Причем рекомендую выбрать последний пункт «Создавать резервную копию с сохранением в каталог». В этом случае, если при обновлении что-то пойдет не так, программа сама вернет все на место.

У меня обновление прошло без проблем и заняло примерно 45 минут.

Важное замечание! После установки обновления конфигурации программа может потребовать обновить платформу 1С. Как это сделать, можно прочесть в или увидеть в нашем видео:

Самостоятельное обновление 1С 8.3 через конфигуратор

Чтобы сделать обновление через конфигуратор, сначала нужно скачать файл обновления 1С с официального сайта или с диска ИТС. Как это сделать, я описывал в статье « «. Только строку в таблице, естественно, нужно выбрать другую (1С Бухгалтерия):

Тут следует отметить один момент. Не все последние версии релизов могут подходить к Вашей текущей конфигурации. Поэтому если Вы давно не обновлялись, возможно придется скачать несколько версий. В списке релизов видно, какой к какому подходит.

В моем случае подходит последний релиз 1С, и я его скачал. В отличие от файла с обновлением платформы, обновления конфигураций находятся в архивах. Также желательно поместить его в чистый каталог и запустить. После того как он распакуется, запускаем файл setup.exe:

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

Теперь заходим в конфигуратор:

Заходить, естественно, надо под пользователем с административными правами.

Сразу делаем резервную копию!

Теперь нужно зайти в меню «Конфигурация – Поддержка – Обновление конфигурации». Появится окно:

Если найдено одно или несколько обновлений конфигураций 1С 8.3, появится окно с выбором нужного:

Если найдено несколько доступных обновлений, программа последнее выделит жирным шрифтом.

Нажимаем «Готово». Появятся еще два информационных окна, там просто нужно нажать «Продолжить».

Начнется процесс обновления 1С. Через некоторое время может появиться окно сравнения конфигураций. Если Вы не специалист, то лучше там ничего не трогать. Жмем «Выполнить»:

Еще через некоторое время появится сообщение «Объединение конфигураций завершено». Нажимаем «ОК».

Теперь нужно обновить еще и конфигурацию информационной базы. Для этого заходим в меню «Конфигурация – Обновить конфигурацию базы данных».

Если система еще что-то спросит, нужно нажимать «Да» или «Принять».

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

На этом обновление закончено.

Смотрите также наше видео по обновлению 1С через конфигуратор:

Если к вашей базе данных открыт общий доступ по сети, Microsoft Access обновляет информацию через установленные промежутки времени. Чтобы просмотреть самые актуальные данные, обновите записи в режиме таблицы или в режиме формы: на вкладке Главная нажмите кнопку Обновить все и выберите команду >Обновить. Происходит обновление существующих данных в таблице или форме. Этот процесс не переупорядочивает записи, не отображает новые и не удаляет несуществующие записи или записи, которые больше не соответствуют указанным условиям. Чтобы сделать обновление более тщательным, выполните повторный запрос данных с помощью макроса.

Примечание: Повторный запрос может занять много времени в зависимости от размера записей.

В этой статье

Обновление данных

Указание интервала обновления

Обновление данных

    Выполните одно из следующих действий:

    • Чтобы обновить данные в режиме таблицы или формы, на вкладке Главная в группе Записи нажмите Обновить все, а затем нажмите Обновить.

      Чтобы обновить данные окне сводной таблицы или сводной диаграммы, на вкладке Конструктор в группе Данные нажмите Обновить сводные области.

      Нажмите сочетание клавиш SHIFT+F9.

К началу страницы

Указание интервала обновления

Вы можете указать интервал, по которому Access будет обновлять данные.По умолчанию Access обновляет данные каждые 60 секунд.

    Нажмите кнопку Office.Появляется Outspace.

    На левой панели Outspace нажмите Параметры.

    На левой панели диалогового окна Параметры Access щелкните элемент Расширенные параметры.

    На правой панели под Расширенными параметрами уточните значение Интервала обновлений (в секундах).

К началу страницы

Повторный запрос данных с помощью макроса

Чтобы автоматически выполнять повторный запрос данных при возникновении события, можно создать макрос и связать его с событием. Предположим, вы хотите повторно запросить данные получением TE000127438 в форме. Для этого можно создать макрос и связать его с событием формы Получение фокуса

    На вкладке Создание в группе Другие выберите Макрос. Если эта команда недоступна, нажмите стрелку под кнопкой Модуль или Модуль класса, а затем нажмите кнопку Макрос.

    Щелкните стрелку в поле рядом с зеленым знаком плюса (+) и выберите пункт Запросить повторно.

    Сохраните макрос, используя имя Повторный запрос, а затем закройте конструктор макросов.

    Откройте нужную форму в TE000126615. Если страница свойств не отображается, нажмите клавишу F4.

    Событие на странице свойств.

    На вкладке Событие щелкните стрелку в свойстве Получение фокуса и выберите макрос "Requery".

    Сохраните форму.

К началу страницы

Используйте код, чтобы повторно запросить данные

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

    Откройте нужную форму в Конструкторе. Если страница свойств не отображается, нажмите клавишу F4.

    Убедитесь, что сама форма выбрана.Затем нажмите на вкладку Событие на странице свойств.

    На вкладке Событие в свойстве Получение фокуса нажмите на кнопку Сборка.

    В диалоговом окне Выберите конструктор нажмите на Конструктор кода.

    В редакторе Visual Basic откроется новый модуль.

    Напечатайте Me.Requery, а затем закройте редактор Visual Basic.

    Сохраните форму.

К началу страницы

Повторный запрос данных в веб-приложении Access

Запросы в веб-приложении Access выполняются на сервере. Чтобы повторно запросить данные в веб-приложении Access, используйте макрос "ОбновитьЗапись". Этот макрос требует текущий набор записей.

    Откройте необходимую форму, нажмите кнопку Макрокоманды, а затем выберите Текущая запись.

    В Каталоге макрокоманд выберите ПовторноЗапроситьЗаписи. Если поле Выражение= оставить пустым, к результатам не будут применяться дополнительные фильтры, а если оставить пустым поле Порядок сортировки=, не будет применяться сортировка.

    Сохраните форму.

К началу страницы