1с программно выйти из 1с
Введение в управляемая форма 1С реквизиты элементы команды
Рекомендуется модифицировать управляемые формы типового решения 1С программно для удобного будущего обновления и исключения конфликтов, а также для удобной работы с изменениями и надежности при использовании механизма расширений.
В некоторых типовых конфигурациях 1С (ЕРП 2, УТ 11) используется механизм упрощенного изменения конфигурации. Статьи о типовом механизме можно найти в разделе полезных ссылок. Данный механизм используется в БСП, и его необходимо знать при модификации типовых конфигураций.
При добавлении элементов на форму программно можно отредактировать практически любое свойство из панель свойств, которое можно установить вручную в конфигураторе.
Также все описанные в текущем разделе процедуры и функции находятся во внешней обработке УпрФормы.
Примеры работы с объектом «ДанныеФормыКоллекция» и созданием дин. списка и таблицы значений программно можно будет посмотреть в части 2.
Для запуска обработки в режиме предприятия необходимо наличие объектов «Справочники.Номенклатура», подчиненный ему «Справочники.ХарактеристикиНоменклатуры» и «РегистрыСведений.ЦеныНоменклатуры”.
Программное переопределение обработчиков событий формы и элементов формы
Переопределить обработчики событий формы можно в обработчике «ПриСозданииНаСервере» (кроме самого обрабочика «ПриСозданииНаСервере») или в теле модуля формы в контексте сервера (например, Переопределение событий ПриЧтениинаСервере и ПриСозданииНаСервере).
В теле модуля формы:
А в новой процедуре нужно добавить вызов основной, если такая процедура есть.
Аналогично можно поступить и с обработчиками элементов формы:
Программное создание групп формы.
Доступные виды групп формы:
Программное добавление команды на форму.
Удалить команду можно при помощи метода коллекции формы команд: Команды.Удалить(). Удалять можно только те команды, которые были созданы программно.
Программное создание декораций форм.
Программное добавление реквизита на форму.
Добавлять новые реквизиты в управляемую форму и удалять необходимо с помощью метода ИзменитьРеквизиты(), куда в параметры передается массив добавляемых реквизитов и массив удаляемых. Удалять при этом можно только те реквизиты, которые были созданы программно.
Вывод реквизитов на форму.
Вызов процедур при создании на сервере 1С
После описания всех процедур выводим их в процедуре ПриСозданииНаСервере. Также можно изменить программно некоторые свойства формы, например, заголовок. Чтобы был виден только наш заголовок, нужно отключить свойство Автозаголовок.
Некоторые советы при программном редактировании формы
- Если вы не используете префиксы при создании новых команд и элементов рекомендуется проверять существование создаваемых объектов по имени с помощью метода Найти(), который вернет Неопределено, если объект в коллекции не найден:
- Элементы.Найти(«пр_Владелец»);
- Команды.Найти(«пр_НоваяКоманда»);
- Свойства, методы и коллекции управляемой формы описаны в синтакс-помощнике в разделе «Интерфейс (управляемый)»;
- Изучите БСП, если она имеется в вашей конфигурации. Например в общем модуле «ОбщегоНазначения» уже описаны функции для создания объекта ОписаниеТипов, необходимого при создании новых реквизитов на форме:
- ОбщегоНазначения.ОписаниеТипаСтрока(ДлинаСтроки) — Создает объект ОписаниеТипов, содержащий тип Строка;
- ОбщегоНазначения.ОписаниеТипаЧисло(Разрядность, РазрядностьДробнойЧасти = 0, ЗнакЧисла = Неопределено) — Создает объект ОписаниеТипов, содержащий тип Число;
- ОбщегоНазначения.ОписаниеТипаДата(ЧастиДаты) — Создает объект ОписаниеТипов, содержащий тип Дата;
- ОбщегоНазначенияВызовСервера.ЦветСтиля(ИмяЦветаСтиля) — Функция получает цвет стиля по имени элемента стиля;
- ОбщегоНазначенияВызовСервера.ШрифтСтиля(ИмяШрифтаСтиля) — Функция получает шрифт стиля по имени элемента стиля.
Итак, взглянем на получившийся результат. Все элементы на форме созданы программно:
Здравствуйте, Живой Ископаемый!
Перед обменом нужно, как я понимаю, чтобы пользователей в базе не было. Как раз мое 1сПредприятие (польз "obmen") я и спрашиваю как закрыть (это к (26)).
У нас пользователи не в терминале работают и я тоже, спасибо, учту.
Сейчас попробую сделать, как Вы советуете.во 2 случае только код в кону загружается, и даже из конф для обновления 1сПредпр не запускается - остается "!" в конф-ре
"только код" - это я после выполнения случая2 захожу в конфигуратор и вижу что код заменился на новый и стоит в окне конф-ра "!"; те видимо сработала только первая строка батника,
"только код" - данные не загрузились2(45) нет, не просите вы помочь.. вы сообщаете ничего не значащие замечания о работе какого-то припадочного скрипта.
Кстати, в (30) - предположение "Перед обменом нужно, как я понимаю, чтобы пользователей в базе не было" - абсолютно ложное. могут быть. Пользователей быть не должно только в том случае, если пришли изменения конфы, при чем такие, которые меняют структуру. Если же просто поменялся код модуля - то пусть будут, ничего страшного нет
2(49) да что вы говорите. вы серьезно думаете что кто-то будет следить за последней версией отлаживаемого вами кода? всем плевать на него.
(52)но ведете себя так, как будто предполагаете что все в курсе на какой именно строчке у вас сейчас ошибка.. у вас шаблончик не рвется от такой разницы в отношении и поведении?
(46) спасибо, я это еще в Ваше предыд. объяснение поняла
не ясно следующее:
если в батнике одна строка и батник запускаю дважды то 1 результат
если в батнике таже самая строка 2 раза написана и батник запускаю 1раз - другой результат2(55) у вас вторая строка батника дожидается окончания выполнения приложения запущенного первой строкой?
видимо нет, т.е. нужно в батнике как-то определять, что первая строка закончила свою работу?
и этот батник запускаю дважды все работает как надо, и без ожидания почему-то
2(58) ну так а чего вы придуриваетесь что не видите разницы?
читайте до посинения:
Запуск указанной программы или команды в отдельном окне.
START ["заголовок"] [/Dпуть] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
команды.
Изменения вызова внешних команд из командной строки или с помощью команды
START при включении расширенной обработки команд:2(58) "и этот батник запускаю дважды все работает как надо, и без ожидания почему-то" - то есть вы не дожидаетесь самостоятельно окончания работы батника первый раз, второй раз сразу же запускаете? или все же дожидаетесь?
кстати и во второй строке также надо и start и /wait иначе третья ваша команда сразу зарубит 1Сv8.exe только что запущенный второй командой.
START "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"C:\UAT8_les_KOT" /N"obmen" /P"obmen" /DisableStartupMessages/WAIT/Execute Obmen.epf
написал не удалось найти ENTERPRISE2(69) я даже уже и не знаю какими словами мне еще выразить - что всем на это плевать. и никто вас не пожалеет за то что вы не смогли вчитаться в вывод команды START /? и попробовать по разному кавычки и т.д. и т.п.
но ДО прошлого раза было еще 10 раз когда не получилось.. сейчас также будет.
Но.. попытайтесь меня удивитьstart /wait "" /DisableStartupMessages/WAIT/Execute Obmen.epf" C:\Program Files\1cv81\bin\1cv8.exe ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"C:\UAT8_les_KOT" /N"obmen" /P"obmen" /DisableStartupMessages/Execute Obmen.epf
первая строка выполняется а вторая нетНапишите в батнике такое:
Dear computer Santa! I want you to acomplish my wish, but, I'm not able to express it properly. So, let's come to an agreement - i just put some words, and you feel free to combine them in a way, whichever you want.
Ok, here these words:start
wait
DisableStartupMessages
WAIT
Execute
Obmen.epf
"C:\Program Files\1cv81\bin\1cv8.exe"And don't forget - I want you to accomplish my wish twice, deal?
start /wait "" "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"C:\UAT8_les_KOT" /N"obmen" /P"obmen" /DisableStartupMessages/Execute Obmen.epf
start /wait "1C" "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf - все равно не ждет
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"C:\UAT8_les_KOT" /N"obmen" /P"obmen" /DisableStartupMessages/Execute Obmen.epf
TaskKill /F /IM 1cv8.exestart "Запускаем 1C. " /d "C:\Program Files\1cv81\bin" /wait "1cv8.exe Enterprise /F C:\UAT8_les_KOT /N obmen /P obmen /Execute Obmen.epf /DisableStartupMessages"
Рез-т: не удалось найти 1cv8.exe Enterprise /F C:\UAT8_les_KOT /N obmen /P obmen /Execute Obmen.epf /DisableStartupMessages
видимо с внешней обработкой не так пишетсяstart "" /wait "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf
start "" "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf
rem "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epfTaskKill /F /IM 1cv8.exe
Вот такой батник из 2-ходинаковых строк:
start "" /wait "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf
start "" /wait "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf
строка1 выполняется, но 1с закрываю вручную - сама не закрывается. Видимо, "WAIT Запуск приложения с ожиданием его завершения." означает что следующая строка батника будет выполняться после завершения работы приложения, открытого предыд. строкой.
После выполнения строки2 тоже 1с надо закрывать вручную, причем данные не перенеслись (в окне конфигуратора знак "!")Общие или глобальные команды удобно использовать, если одна команда нужна многих объектам конфигурации. Например, кнопка для вывода структуры подчиненности документов, команда отображения проводок документа, отчет о изменении объекта.
В команду можно передать параметры, например, из формы какого объекта он вызывается.
Настройка и свойства общей команды в 1С
Добавить новую команду и настроить общую форму достаточно просто, рассмотрим этот процесс подробнее:
Пример модуля команды:
Группы команд 1С
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>Объект, позволяющий вывести команды на командный интерфейс конфигурации в отдельную группу:
Видео по общим командам от Павла Чистова:
Вызов клиентской функции из модуля объекта
Добрый день. Недавно решил научиться работать с управляемыми формами. Подскажи те, как можно вызвать клиентскую функцию из модуля объекта на управляемой форме? Есть обычная форма и управляемая. С обычной все работает, а вот как приделать ту же функцию к управляемой пока понять не могу.
Если ДилогЗагрузкиФайла.Выбрать() Тогда
Возврат ДилогЗагрузкиФайла.Каталог;
КонецЕсли;Возврат "";
КонецФункции // ВыбратьПапку()Как вызвать программно команду расположенную на Форме 1С?
Есть расположенная на форме новая команда, как в 1С её вызвать программно из модуля формы? Перерыл интернет,не нашел четкого объяснения или кода.
Просто вызови процедуру команды, подставив в параметры команду или кнопку.
Для управляемой формы:
Процедура ВызватьКоманду() ИмяНужнойКоманды = “ИмяКомандыФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКоманда = ЭтаФорма.Команды.Найти(ИмяНужнойКоманды); // Находим команду на форме КакаяТоКоманда(НужнаяКоманда); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Процедура КакаяТоКоманда(Команда) // Тут код твоей команды. КонецПроцедуры
Для обычной формы Процедура ВызватьКоманду() ИмяНужнойКнопки = “ИмяКнопкиФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКнопка = ЭтаФорма.ЭлементыФормы.ОсновныеДействияФормы.Кнопки[ИмяНужнойКнопки]; КакаяТоКоманда(НужнаяКнопка); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Процедура КакаяТоКоманда(Кнопка) // Тут код твоей команды. КонецПроцедуры
Программа 1С не закрывается – квалифицированная помощь от специалистов
В процессе работы с различным программным обеспечением возникают те или иные проблемы. Если программа 1С не закрывается, то это приносит столько же неудобства, как и зависание. Снижение производительности информационно-технологической системы приносит массу неприятностей.
Распространенными проблемами являются:
- снижение производительности в процессе выполнения определенных задач;
- замедление работы или долгое ожидание отклика;
- полное зависание при закрытии и так далее.
Длительный отклик программы и другие неприятности.
Согласно рекомендациям специалистов, в таких ситуациях запрещается делать:
- выдергивать вилку компьютера из розетки или просто отключать питание;
- нажимать «reset» или иным грубым методом перезапускать систему;
- кликать множество раз на панели зависшей программы или пытаться открыть лишние окна;
- паниковать и делать лишние движения.
Необходимо предпринимать только грамотные и эффективные действия. Ситуация обостряется тем, что программа 1С содержит важные данные и документы, о безопасности которых необходимо побеспокоиться заранее. Для многих пользователей это становится еще одним поводом для беспокойства.
Эффективные меры для восстановления работоспособности.
Первым делом следует успокоиться и не паниковать, так как из-за этого можно наделать ошибок. Лучше всего рекомендуется немного подождать. Если система слабая, то можно дать компьютеру 5-10 минут на проработку. Как правило, более длительное ожидание практически бесполезно. В этот момент не нужно проводить манипуляции с системным блоком, монитором или клавиатурой, а также не надо пытаться открыть какие-то программы параллельно.
Рекомендуется сделать следующее:
- попытаться закрыть программу, нажав крестик или комбинацию Alt+F4;
- вызывать диспетчер задач через контекстное меню (правая кнопка на рабочем столе) или комбинацией Ctrl+Shift+Esc;
- найти зависший процесс и завершить его принудительно.
Как правильно выходить из 1С
«Горячие» клавиши упростят работу в «1С:Предприятии 8»
Глобальные действия — это действия, которые вы можете выполнять в любом состоянии программы. При этом не важно, что на данный момент открыто в "1С:Предприятии". Главное, чтобы приложение не было занято выполнением какой-либо задачи.
Глобальные действия — это действия, которые можно вызывать в любом месте запущенной платформы "1С:Предприятие 8". Независимо от того, что именно происходит в запущенной конфигурации, смысл глобальных действий не меняется (например, нажатие Ctrl+N всегда будет вызывать диалог создания нового документа).
"Горячие" клавиши для глобальных действий
Действие
Сочетания клавиш
Как работает программа
Создать новый документ
Открывает окно, в котором будет предложено выбрать тип создаваемого нового документа в различных форматах — например, в текстовом, табличном или HTML
Открыть существующий документ
Открывает стандартное диалоговое окно "Открыть", доступное через меню "Файл/Открыть…"
Активизация поля поиска в командной панели
Устанавливает курсор в это поле
Alt + Enter
Ctrl + EВ зависимости от того, на что установлен курсор, открывает соответствующую палитру свойств этого объекта или элемента. Полезно при работе с таблицами, текстом, HTML и т. п.
Вызвать содержание справки
Вызывает содержание справки
Вызвать индекс справки
Вызывает индекс справки
"Горячие" клавиши: глобальные действия
Глобальные действия — это действия, которые вы можете выполнять в любом состоянии программы. При этом не важно, что на данный момент открыто в "1С:Предприятии". Главное, чтобы приложение не было занято выполнением какой-либо задачи.
Глобальные действия — это действия, которые можно вызывать в любом месте запущенной платформы "1С:Предприятие 8". Независимо от того, что именно происходит в запущенной конфигурации, смысл глобальных действий не меняется (например, нажатие Ctrl+N всегда будет вызывать диалог создания нового документа).
"Горячие" клавиши для глобальных действий
Действие
Сочетания клавиш
Как работает программа
Создать новый документ
Открывает окно, в котором будет предложено выбрать тип создаваемого нового документа в различных форматах — например, в текстовом, табличном или HTML
Открыть существующий документ
Открывает стандартное диалоговое окно "Открыть", доступное через меню "Файл/Открыть…"
Активизация поля поиска в командной панели
Устанавливает курсор в это поле
Alt + Enter
Ctrl + EВ зависимости от того, на что установлен курсор, открывает соответствующую палитру свойств этого объекта или элемента. Полезно при работе с таблицами, текстом, HTML и т. п.
Вызвать содержание справки
Вызывает содержание справки
Вызвать индекс справки
Вызывает индекс справки
"Горячие" клавиши: общие действия
Общие действия — действия, которые имеют один и тот же смысл в различных объектах конфигурации, но поведение платформы "1С:Предприятие 8" меняется в зависимости от того где именно вы используете то или иное общее действие. Например, нажатие на клавишу "Del", помечает на удаление текущий элемент справочника, если вы находитесь в окне списка элементов справочника. Или удаляет содержимое текущей ячейки табличного документа, если вы его редактируете.
"Горячие" клавиши для общих действий
Действие
Сочетания клавиш
Как работает программа
Удаляет элемент под курсором (текущий элемент) или выделенную группу элементов
Позволяет добавить новый элемент
Сохранить активный документ
Сохраняет активный документ
Печать активного документа
Вызывает диалог печати для активного документа
Печать на текущий принтер
Инициирует непосредственную печать активного документа на принтер, назначенный в системе по умолчанию (без открытия диалога печати)
Копировать в буфер обмена
Ctrl + C
Ctrl + InsКопирует необходимый элемент или выделенную группу элементов в буфер обмена ОС Windows
Вырезать в буфер обмена
Ctrl + X
Shift + DelВырезает необходимый элемент или выделенную группу элементов в буфер обмена ОС Windows. Отличается от копирования тем, что копируемый элемент или группа после попадания в буфер удаляется
Вставить из буфера обмена
Ctrl + V
Shift + InsВставляет в место, отмеченное курсором находящиеся данные из буфера обмена ОС Windows
Добавить к буферу обмена как число
Используется для числовых значений
Добавить к буферу обмена
Используется для числовых значений. Операция сложения с данными в буфере обмена
Вычесть из буфера обмена
Используется для числовых значений. Операция вычитания с данными в буфере обмена
Выделяет все доступные элементы в активном документе
Отменить последнее действие
Ctrl + Z
Alt + BackSpaceОтменяет последнее совершенное действие
Вернуть отмененное действие
Ctrl + Y
Shift + Alt + BackSpaceПозволяет отменить "Ctrl + Z", иными словами — вернуть то, что вы сделали до нажатия отмены последнего совершенного действия
Открывает диалог настройки параметров поиска в активном объекте конфигурации и выполнения этого поиска
Находит следующий элемент, соответствующий указанным в настройках поиска параметрам
Найти следующий выделенный
Находит следующий элемент, соответствующий тому, который вы выделили (например, на котором установлен курсор)
Находит предыдущий элемент, соответствующий указанным в настройках поиска параметрам
Найти предыдущий выделенный
Ctrl + Shift + F3
Находит предыдущий элемент, соответствующий тому, который вы выделили
Открывает диалог поиска и замены значений (там, где это разрешено)
Свернуть (узел дерева, группу табличного документа, группировку модуля)
Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"
Выделяет все доступные элементы в активном документе
Отменить последнее действие
Ctrl + Z
Alt + BackSpaceОтменяет последнее совершенное действие
Вернуть отмененное действие
Ctrl + Y
Shift + Alt + BackSpaceПозволяет отменить "Ctrl + Z", иными словами — вернуть то, что вы сделали до нажатия отмены последнего совершенного действия
Открывает диалог настройки параметров поиска в активном объекте конфигурации и выполнения этого поиска
Находит следующий элемент, соответствующий указанным в настройках поиска параметрам
Найти следующий выделенный
Находит следующий элемент, соответствующий тому, который вы выделили (например, на котором установлен курсор)
Находит предыдущий элемент, соответствующий указанным в настройках поиска параметрам
Найти предыдущий выделенный
Ctrl + Shift + F3
Находит предыдущий элемент, соответствующий тому, который вы выделили
Открывает диалог поиска и замены значений (там, где это разрешено)
Свернуть (узел дерева, группу табличного документа, группировку модуля)
Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"
Свернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные
Свернуть (все узлы дерева, группы табличного документа, группировки модуля)
Ctrl + Shift + Num + (-)
Развернуть (узел дерева, группу табличного документа, группировку модуля)
Развернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные
Развернуть (все узлы дерева, группы табличного документа, группировки модуля)
Ctrl + Shift + Num + (+)
Ctrl + Page Down
Ctrl + Alt + FБыстрое листание активного документа
Ctrl + Page Up
Ctrl + Alt + BИспользуется там, где поддерживается и возможно форматирование текста
Переход к предыдущей web-странице/главе справки
Используется в HTML-документах
Переход к следующей web-странице/главе справки
Прервать исполнение отчета системы компоновки данных
"Горячие" клавиши: управление окнами
В этом разделе объединены общие для всех окон и форм платформы "1С:Предиприятие" "горячие" клавиши.
"Горячие" клавиши для управления окнами
Действие
Сочетания клавиш
Как работает программа
Закрыть активное свободное окно, модальный диалог или приложение
Этой комбинацией можно быстро завершить работу всей конфигурации на платформе "1С:Предприятие", поэтому пользуйтесь ей осторожно
Закрыть активное обычное окно
Закрывает текущее обычное окно
Закрыть активное окно
Закрывает текущее активное окно
Активизировать следующее обычное окно
Ctrl + Tab
Ctrl + F6Позволяет активизировать следующее окно среди открытых в рамках конфигурации. Нажатие в цикле с удерживанием клавиши Ctrl позволяет листать отрытые окна "вперед"
Активизировать предыдущее обычное окно
Ctrl + Shift + Tab
Ctrl + Shift + F6Позволяет активизировать предыдущее окно среди открытых в рамках конфигурации. Нажатие в цикле с удерживанием клавиши Ctrl позволяет листать отрытые окна "назад"
Активизировать следующую секцию окна
Активирует следующую секцию текущего окна
Активизировать предыдущую секцию окна
Активирует предыдущую секцию текущего окна
Вызвать системное меню приложения или модального диалога
Позволяет увидеть системное меню операций (свернуть, переместить, закрыть и т. п.) над окном программы или открытого модального диалога
Вызвать системное меню окна (кроме модальных диалогов)
Alt + Hyphen + (-)
Alt + Num + (-)Позволяет увидеть системное меню операций (свернуть, переместить, закрыть и т. п.) над активным окном
Вызвать главное меню
Активирует главную панель с кнопками текущего окна. Тем самым вы можете выбирать действия без участия мыши
Вызвать контекстное меню
Отображает контекстное меню над текущим активным элементом. Аналогично нажатию правой кнопки мыши на нем
Вернуть активность обычному окну
Возвращает активность обычному окну после работы с контекстным меню. Внимание! В любом другом случае, Esc инициирует закрытие активного окна
"Горячие" клавиши: управление формами
Здесь собраны "горячие" клавиши, упрощающие и ускоряющие работу с различными формами, которые созданы в конфигурациях, написанных на платформе "1С:Предприятие".
"Горячие" клавиши для управления формами
Действие
Сочетания клавиш
Как работает программа
Перейти на следующий элемент управления/вызов кнопки по умолчанию
Переход между элементами управления на форме "вперед" (см. Tab)
Вызов кнопки по умолчанию
Как правило, у различных форм назначена кнопка по умолчанию (она отличается от других — например, выделена жирным). Использование этой комбинации клавиш позволяет из любого места открытой формы активировать кнопку по умолчанию
Перейти на следующий элемент управления
Переход между элементами управления на форме "вперед"
Перейти на предыдущий элемент управления
Переход между элементами управления на форме "назад"
Активизирует командную панель, связанную с активным элементом управления/формой
Активирует главную панель с кнопками текущей формы. Тем самым вы можете выбирать действия без участия мыши
Перемещение по элементам управления, объединенным в одну группу
Используя клавиши-курсоры можно быстро перемещаться между сгруппированными элементами управления
Закрывает окно текущей формы
Восстановить положение окна
Если сбились какие-то параметры окна формы, эта комбинация позволяет вернуть все назад
"Горячие" клавиши: работа со списком и деревом
"Горячие" клавиши этого раздела помогут эффективно работать без использования мыши в многочисленных списках и деревьях, которые активно используются в различных объектах конфигураций на платформе "1С:Предприятие 8".
"Горячие" клавиши для работы со списком и деревом
Действие
Сочетания клавиш
Как работает программа
Открывает для изменения элемент, на который установлен курсор. Клавиша аналогична действию "Изменить" на стандартной панели кнопок формы
Ctrl + Shift + R
F5Обновляет данные в списке или дереве. Особенно актуально для динамических списков (например, список документов), когда для них не включено автообновление
Создает новый элемент списка, используя в качестве шаблона текущий элемент. Аналогично кнопке "Добавить копированием"
Создает новую группу. Аналогично кнопке "Добавить группу"
Непосредственное удаление текущего элемента. Внимание! Используйте эту комбинацию с большой осторожностью в динамических списках, так как отменить удаление нельзя
Перемещение строки вверх
Ctrl + Shift + Up
В списках, где разрешено изменение порядка строк, позволяет передвинуть текущую строку вверх. Аналогично кнопке "Переместить вверх"
Перемещение строки вниз
Ctrl + Shift + Down
В списках, где разрешено изменение порядка строк, позволяет передвинуть текущую строку вниз. Аналогично кнопке "Переместить вниз"
Перенести элемент в другую группу
Ctrl + Shift + M
Ctrl + F5Позволяет быстро переместить текущий элемент (например, справочника) в другую группу
Перейти на уровень вниз с одновременным раскрытием группы
Переходит внутрь папки, на которой был установлен курсор
Перейти на уровень вверх (к "родителю")
Выходит наверх из папки, в которой вы находились
Завершает с сохранением изменений редактирование элемента списка
Раскрыть узел дерева
Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"
Закрыть узел дерева
Раскрыть все узлы дерева
Инвертирует значение флажка текущего элемента (включает или отключает его)
"Горячие" клавиши: поле ввода
Поле ввода — активно используемый элемент управления во множестве мест форм конфигураций. "Горячие" клавиши для поля ввода позволяют быстро выполнить часто используемые действия над ним. Особенно полезно использовать эти клавиши там, где разработчик конфигурации не вывел нужные вам кнопки управления полем ввода.
"Горячие" клавиши для поля ввода
Действие
Сочетания клавиш
Как работает программа
Переключить режим вставки/замены
Аналогично поведению при редактировании обычного текста, позволяет либо добавлять новые символы при вводе к старым, либо затирать старые новыми
Выбор соответствующего объекта, связанного с полем ввода (например, выбор нужного документа из списка). Аналогично кнопке поля ввода "Выбор"
Ctrl + Shift + F4
Открытие формы выбранного объекта в текущем поле ввода. Аналогично нажатию кнопки поля ввода "Открыть"
Очистить поле ввода от текущего в нем значения
Удалить символ слева от курсора
Работа с набранным текстом в поле ввода
Удалить символ справа от курсора
Удалить слово слева от курсора
Удалить слово справа от курсора
Перейти в начало строки
Перейти в конец строки
Нажатие указателем мыши кнопки "Вверх" для кнопки регулирования
Использование регулировки, если это разрешено в поле ввода. Например, изменение дат, счетчиков и т. п. Аналогично нажатию на кнопку "вверх" регулятора поля ввода
Нажатие указателем мыши кнопки "Вниз" для кнопки регулирования
Использование регулировки, если это разрешено в поле ввода. Например, изменение дат, счетчиков и т. п. Аналогично нажатию на кнопку "вниз" регулятора поля ввода
"Горячие" клавиши: поле картинки
Поле картинки — это стандартный элемент платформы "1С:Предприятие 8" для отображения графических изображений. "Горячие" клавиши помогут, например, комфортно просмотреть изображение, расположенное в поле картинки.
Начиная с версии 8.3.8 фирма 1С изменила подход к завершению работы и закрытию приложения. Новомодные веяния – ли, ошибки при работе с WEB интерфейсом – ли, но теперь со всех обработчиков событий, используемых нами при закрытии – «ПередЗавершениемРаботыСистемы» и «ПриЗавершенииРаботыСистемы», сервер не доступен. Рассмотрим, как теперь работают данные обработчики.
Обработчик: ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
Как мы помним возникает перед завершением программы, до закрытия главного окна. Если «Отказ» равен «Ложь», то программа просто закрывается, не выдавая никаких вопросов. В нем можно сделать всяческие проверки, все функции должны быть только клиентские (В процессе завершения работы приложения запрещены серверные вызовы и открытие окон.) и может быть установлен отказ от выхода из программы. И вот тут появляется первый подвох. Установление «Отказ» в Истина не отменяет выход из системы, а только указывает, что нужно выдать платформенный диалог, в котором будет предложено выйти или остаться с текстом из параметра «ТекстПредупреждения»:
Диалог завершения программы
И если пользователь нажмет «Завершить работу», все ваши проверки идут лесом. Платформа просто закрывает приложение не зависимо ни от чего. Отловить этот момент в коде нельзя, это все происходит на уровне платформы.
Если же пользователь нажмет на «Продолжить работу», то возможны два варианта событий:
-
Если вы внутри вызова функций из данной процедуры подключали обработчик ожидания
Ответ на первый глобальный русский вопрос «кто виноват?» понятен. Я постараюсь ответить на второй «что делать?». Если нам надо что то зафиксировать в базе, например информацию о работе пользователей в системе. Кто когда заходил, кто когда вышел.
Решение однако лежит вообще в другой плоскости, а именно, в регламентном задании которое периодически будет опрашивать систему на активных пользователей, и фиксировать что такой то пользователь уже отсутствует в списке активных.
Для опроса системы у нас есть функция ПолучитьСеансыИнформационнойБазы(), которая возвращает массив сеансов. А для фиксации, что пользователя в сеансах уже нет нужно создавать новый регистр. Я предлагаю периодический (в пределах секунды) РС с двумя измерениями «Пользователь» и «НомерСеанса», в ресурсах же должно быть как минимум поле «ЗавершениеСеанса» по которому мы будем понимать что пользователь нами не обработан или обработан но активен.
Структура регистра
Обработчик: ПриЗавершенииРаботыСистемы()
Привожу полный текст справки:
Возникает перед завершением работы в режиме управляемого приложения после закрытия главного окна. В данной процедуре могут быть выполнены действия, необходимые при выходе из программы.
В данной процедуре не допускаются:
- открытие форм и других окон,
- использование серверных вызовов,
- использование асинхронных вызовов.
Вот честно, не понимаю вообще какие действия можно осуществить в данной процедуре? Да мы можем написать кучу кода, что-то сделать с файлами, но ничего сообщить пользователю, что то сделать с базой – мы уже не можем.
Резюме
Резюмируя данную статью хочу поблагодарить фирму 1С, что не дает нам соскучиться и всегда на страже нашего свободного времени.
Читайте также: