1с как работает отказ
Трассировка показывает "вход" в эту процедуру? Может "грабли" до неё?
Установи точку отладки на Отказ=Истина; Останавливается на ней или вылетает раньше?
(1) lisrws, кмк это обычное штатное поведение программы. Отказ = Истина в обработке проведения не вызывает исключения, это не ошибка.
Если там же написать а = б / 0, то будет ошибка, предложение перейти в конфигуратор и все такое.
нет. под дебагом зашел. отказ сперва "Ложь". потом установился в "истина". и все завершилось нормально. если убрать "отказ=истина;", то процедура полностью отработает и у документа установится признак проведения
(5) lisrws, странно это все, а если возврат убрать вовсе ? а у вас случайно подписки на проведение нету ? может в подписке валится ?
(7) AllexSoft, Похоже, но смущеет:
Зачем безапеляционная отмена?
и есть проверка на заполненность обязательных реквизитов. так вот на этой проверке, отказ устанавливается в истину и эта ошибка валится только в этом случае
Ну так "Сходите" туда трассировкой.
к сожаление на 15-й версии платформы ситуация повторилась. решили на это исключение забить, так что всем участникам спасибо, что откликнулись
(18) а зачем её завершать? вы же отказ в истину поставили. Документ и так не проведётся и не сделает никаких движений по регистрам (так как там проверяется на отказ = истине).
Или же выполнение дальнейших функций обернуть в
(14) "Возврат" убрать пробовали?)
Имхается проблема в нём.
Так как возврат прекращает процедуру и осуществляет возврат к точке из которой была вызвана эта процедура, то скорее всего вернуться некуда, вот и пишет ошибку.
Была аналогичная ситуация. Поборол следующим образом:
1. Поставил режим совместимости интерфейса "Такси. Разрешить Версия 8.2"
2. Запустил 1С со старым интерфейсом упр. форм.
3. Зашел в документ, при проведении получил ошибку проведения, но уже с окном без кнопки "Подробно" (только ОК).
4. Переключил интерфейс на "Такси"
5. Профит ) При проведении документа и Отказ = Истина получаем окно ошибки без кнопки Подробно.
Как Вы думаете, что правильнее писать, например, в ОбработкаПроведения, если документ проводить нельзя?
(12) Исключение это обработка исключительной ситуации, когда выполнение кода может завершиться ошибкой исполнения. Это как микроскопом гвозди забивать, вам не кажется?
(16) конечно потеряется. вызов метода веб-сервиса просто завершится ошибкой, описание будет что то типа "документ не записан."
(13) Исключение выгодно использовать ,когда ошибку надо реально обработать. Например, необходимо внести информацию по ошибке и контексту в таблицу и по окончании процесса вывести ее пользователю.
(14) У ВызватьИсключение есть очень большой минус для групповой обработки - ломает транзакцию. Вместо того, чтобы записать/обработать 100500 элементов одной транзакцией приходится без нее в этом случае делать.
все зависит от случая .
мне больше нравится. Хотя я уверен что это не правильно (Есть такое мнение что все что мне нравится не правильно)
(23) в одной транзакции нужно обрабатывать только те данные в верность которых ты уверен на 1000 процентов.
(26) если мы проводим документ, а он не проводится (в результате проверок внутри обработки проведения) - это разве не исключительная ситуация?
(29) Целостность данных, конечно же. Но как побочный результат, можно слегка оптимизировать работу с БД.
Отказ = Истина; тоже генерирует исключение, только описание ошибки будет совсем не информативное: "Ошибка при вызове метода контекста (Записать): Операция не выполнена!"
(36) Что плюсы? Судя по вопросам, "Ты хочешь и Рыбку съесть и на стуле посидеть". Ты программист или Дворник?
"Будь мужиком, напиши свой обработчик ошибок!" :)
+(36) Ошибка "Не заполнен реквизит " Может быть всего лишь верхушкой Айзберга.
А ошибок может быть куева туча.
.
Но а ты со своим Исключением получишь только одну, да и то мало внятную, если напишешь в ошибку весь талмуд всех ошибок :)
(41) Читай (37). И программируй :)
Если лень, то пиши через Исключение.
.
Предлагаю написать по человечески в зависимости от потребности детализации ошибка на стороне Веб-Клиента :)
(44) Какое в опу нарушение целостности ,когда не обновлен/создан один из 100500 несвязанных элементов? А нагрузка на БД, если делать одной транзакцией будет меньше и отработает шустрее.
(44) Есть легенда, что на определенных объемах информации, через транзакцию быстрее пишутся данные.
Но есть и другая версия, о том, что при этой транзакции все курят бамбук. А так же если превысить определенный объем информации в транзакционном пакете, то скорость упадет куда больше ,чем простая запись :)
(45) связанные они или нет - неважно. к транзакционным системам есть требование атомарности, то есть или все изменения прошли, или ни одно.
"не даст проводить "роботом"" - это что за зверь?
(46) С учетом того, сколько времени отнимает встроенный язык, трансляция запросов и т.д. - кто-то правда задрачивает на оверхед от транзакционной машины в СУБД?
(52) Есть запись в журнал регистрации.
Опять же во многих случаях желательно проверить все ветки алгоритма. Вызов исключения приостанавливает выполнение.
(54) Конечно, это уже поставка от 1С, т.е. если документ не провелся, то получи исключение. Все нормально и логично. Я бы сказал ожидаемо :)
Если доступен флаг Отказ, то стараюсь нужно использовать его. Для случаев, когда Отказ недоступен можно использовать ВызватьИсключение.
+ установка Отказ в Истина не прерывает исполнения процедуры/функции.
(58) какой смысл в дальнейшем выполнении процедуры после того, как Отказ встал в Истина (транзакция полюбому отменяется)? Если только он в дальнейшем опять изменится на Ложь. Такое где нибудь применяется? В типовых точно нет.
(60) это конечно же тема отдельного разговора (выводить пользователю все найденные ошибки или только первую), так что давайте его на другой раз отложим. но извольте: пусть второй вариант опроса реализован чуть иначе: заведена отдельная переменная (например МойОтказ), а в конце процедуры ее значение анализируется и, если оно истинно, то уже вызывается исключение. ведь в этом случае второй вариант несет только плюсы?
(62) Сообщить вполне себе есть на сервере. Даже при вызове из фонового задания вполне работает. Даже то, что было запихано в Сообщить внутри фонового задания потом прочитать можно.
А вообще да, абстракции такие абстракции)
+(62) Отказ = Истина при выходе из ОбработкаПроведения точно так же все остановит, потому что Отказ = Истина это тоже генерация исключения.
(56) Если ты обрабатываешь исключение, то это просто перевод (goto) кода в обработчик исключение
Отказ это не исключение это ОтменитьТранзакцию
(64)
Да, согласный.
>Доступность:
>Сервер, толстый клиент, внешнее соединение.
Но суть в том, что ошибки которые мы хотим Сообщить, покажутся на клиенте только после окончания серверного вызова.
В этом плане, ИМХО, подход в бухе 7.7 (кажется) был самым правильным (после попытки провести отчет с результатом).
PS Все написанное мое личное мнение и может отличаться и других :)
(50) 10-25% процентов экономии порой. Не ахти-что, но иногда экономит лишние полчаса-час. Конечно, надо учитывать блокировки. А кто-то предлагает бездумно что-то использовать?
(63) Есть есть транзакция, то используется Отказ, если код выполняестся вне транзации - ВызватьИсключение.
(67) "Отказ это не исключение" - именно исключение. А откат транзакции это лишь следствие исключения. Если не веришь - попробуй в Попытка - Исключение записать объект, у которого в модуле объекта в "ПередЗаписью" стоит Отказ = Истина. Вывалишься в исключение.
(69) Как все запущено.
Если такой любитель наслаждаться сайд-эффектами - найди в коде все вызовы Новый БлокирвокаДанных и закомментируй. Тоже немало производительности выиграешь.
(74) Представляю, что ты скажешь на то, что я использую обновляю реквизиты документа прямым запросом :)
(72) Вообще то передЗаписью выполняется вне Транзакции.
Но это не суть. Смысл Отказа это установка флага ошибки.
Которое внутри процедуры не прекращает ход выполнения.
Но обрабатывается при выходе из предопределенной процедуры.
А дальше уже может вызываться исключение, Отмена Транзакции.
Смысл исключения перед отменой именно в немедленном прекращении процедуры с записью ошибки в журнал регистрации и вывода исключения для пользователя
Исключения которые перехватываются внутри процедуры это просто оператор перехода в обработчик исключения.
Возникает перед выполнением записи элемента справочника. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи элемента справочника.
да флаг отмена вызывает отмену транзакции и исключение по выходе из процедуры.
ПередЗаписью модуля объекта выполняется уже в транзакции
Здравая мысль про запись в журнал регистрации (1-й вариант не пишет, 2-й пишет), это я как то упустил. Но все равно думаю это не очень существенно.
Но отмена например могла бы быть и результатом выполнения.
(86) Т.е. ты считаешь, что никогда и ни в коем случае, нельзя лезть в 1С прямыми запросами? И что же случится при этом? Мир рухнет, сатана вылезет из ада, солнце потухнет?
(79) Есть еще один минус исключений. Иногда невозможно полностью оттестить все ветки алгоритма, и например проведение записи документа ставишь в обработчик исключений.
Записываешь в ЖР, а пользователю сообщаешь что бы обратился к программисту.
То есть нужно еще разделять пользовательские исключения и исключения системы. В нормальных языках это регулируется классом ошибок.
Обычно при проведении интересно узнать все возможные причины отказа проведения, а не останавливаться на первой попавшейся.
А ведь этим темам не больше года.
Диагноз:
1. "Мальчик паталогически не переносит учебу" - т.е. на лицо банальная аллергия на на чтение документации
2. При этом самомнение - как у вчерашнего девственника, оценивающего свой сексуальный опыт
3. Первое и второе вместе - я бы тебе даже доступа в рабочую базу не дал.
(91) И что не так в этих темах? Ты уверен, что знаешь все? Уверен, что документация раскрывает все возможные проблемы? Я, например, не уверен.
А самомнение только у тебя. Т.к. твое представление о работе с транзакциями кажется единственно верным. А бедные быдлокодеры из шаражки Oracle напридумывали и используют такую ересь, как автономные транзакции. Не понимают своей ущербности :(
(91) Кстати, по мотивам v8: 1С 8.2 УФ. Событие НаКлиенте после отмены проведения. ,а тебе самому не показалось странным и нелогичным, что есть клиентское событие ПередЗаписью, серверное ПередЗаписьюНаСервере, но нет клиентского ПослеЗаписи? Мне вот показалось. Но у меня нет такого самомнения, чтобы быть уверенным в безвыходности этой ситуации :(
(92) Я уверен, что Вам объективно рано делать заявления, подобные (83) :)
А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД. Ваша "вложенная транзакция" не разделяет блокировок основной и т.д. И, что самое главное - описываемого Вами "ускорения" операций в транзакции Вы уже не получите - с таким же успехом, можете просто запускать фоновое задание в коде на встроенном языке и дожидаться его завершения из кода, выполняемого в транзакции - будет тоже самое.
Через эту штуку удобно делать всякие аудиторские записи, инкременты счетчиков за т.д - это да.
А за алгоритм вида "делаем построчный update, где не сделался - пропускаем" любой опытный ораклоид сперва оторвет Вам руки, а затем понесет директору служебку о Вашем несоответствии занимаемой должности :)
(94) "Я уверен, что Вам объективно рано делать заявления, подобные (83) " Т.е. Вы считаете ,что видели все и знаете обо всем? Печально, жить скучно, должно быть.
(95) Я видел достаточно, чтобы гордые рассказы об ускорении обработки за счет транзакций и прямые запросы к 1Сной базе вызывали у меня только facepalm. Остальное - Ваши домыслы
.
(94) "А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД." Вы это с постгрёй не путаете.
(96) Т.е. Вы мыслите исключительно основываясь на парадигме, что собеседник - дебил? Не спорю, это намного безопаснее и помогает избежать негативных последствий его действий, но вот в рациональности есть сомнения.
(97) https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/autonotransaction_pragma.htm - особенно много внимания уделяем разделу "Usage Notes" - про пересечения блокировок, дедлокам с вложенными транзакциями и т.д.
(98) Это зависит от того, что говорит собеседник. И как аргументирует свою точку зрения.
Для выдачи структуированной информации об ошибке в версии 8.2 служит функция ИнформацияОбОшибке().
Вызов исключения
В 1С:Предприятие 7.7 оператор ВызватьИсключение; служит для повторного вызова исключения из блока Исключение-КонецПопытки. Для вызова из других частей программы можно использовать внешнюю компоненту или деление на 0, например а=1/0.
Перехват исключений в коде
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
2. Тем не менее, необходимость перехвата исключений в коде все же возникает. Например, для того чтобы уточнить текст ошибки, дополнив его прикладной, понятной конечному пользователю, информацией. Однако при этом необходимо фиксировать причину ошибки в журнале регистрации для того, чтобы системный администратор имел возможность выполнить диагностику проблемы и при необходимости передать информацию об ошибке в службу технической поддержки.
3. Частные случаи некорректного использования и перехвата исключений.
Область применения (уточнение): управляемое приложение, обычное приложение.
3.1. Если имеется некоторая серверная бизнес-логика, которая вызывается с клиента при интерактивной работе пользователя:
&НаСервере
Процедура ВыполнитьОперацию()
// код, приводящий к вызову исключения
.
КонецПроцедуры
то неправильно маскировать от пользователя и администратора исходную проблему:
// на клиенте
Попытка
ВыполнитьОперацию();
Исключение
ПоказатьПредупреждение(,НСтр("ru = ‘Операция не может быть выполнена.’"));
КонецПопытки;
и тогда на клиенте:
Не следует использовать функцию ОписаниеОшибки , т.к. она неинформативна для разработчика, потому что не возвращает стек в тексте ошибки.
3.2. Не следует анализировать текст исключений с целью интерпретации причины ошибки. Текст исключения может меняться в зависимости от локализации. В условиях отсутствия штатных средств (например, типизированных исключений), следует выдавать пользователю тексты исключений «как есть». Для понятности, его можно дополнить пояснением возможных причин.
Например:
В тех случаях, когда анализ типов исключений критически важен для корректной работы бизнес-логики, следует отказаться от исключений и использовать коды ошибок (коды возврата). При этом недопустимо использовать числовые коды ошибок, т.к. код становится нечитаемым:
КодОшибки = ЗагрузитьФайлИзИнтернета(. );
Если КодОшибки = 12345 Тогда
.
ИначеЕсли .
правильно применять строковые литералы (например, "Успешно", "НетМестаНаДиске", "Отменено" и т.п.):
РезультатЗагрузки = ЗагрузитьФайлИзИнтернета(. );
Если РезультатЗагрузки = "Успешно" Тогда
.
ИначеЕсли .
Строковые литералы кодов ошибок не локализуются.
Исключение составляют случаи работы с веб-сервисами и другими внешними системами, где коды ошибок не доступны, а результат работы транслируется в вызывающий код прикладной конфигурации в виде исключений.
3.3. Если имеется некоторая клиентская бизнес-логика (код выполняется полностью на клиенте):
&НаКлиенте
Процедура СоздатьФайлНаДиске()
// код, приводящий к вызову исключения
.
КонецПроцедуры
то рекомендуется делать дополнительный серверный вызов для протоколирования неудачного результата операции в журнал регистрации:
3.4. Недопустимо перехватывать любые исключения, бесследно для системного администратора:
Попытка
// код, приводящий к вызову исключения
.
Исключение // перехват любых исключений
КонецПопытки;
Как правило, подобная конструкция скрывает реальную проблему, которую впоследствии невозможно диагностировать.
Правильно:
Попытка
// код, приводящий к вызову исключения
.
Исключение
// Пояснение причин перехвата всех исключений "незаметно" от пользователя.
// .
// И запись события в журнал регистрации для системного администратора.
ЗаписьЖурналаРегистрации(НСтр("ru = ‘Выполнение операции’"),
УровеньЖурналаРегистрации.Ошибка.
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
Но если пользователь не может отработать останавливающее предупреждение в рамках выполняемой операции или ошибочная ситуация носит исключительный характер и делает бессмысленными все остальные проверки, которые выводят другие останавливающие предупреждения, то следует вызывать исключение.
Процедура ПередЗаписью(Отказ)
Если Не ЗарегистрироватьИзмененияНаУзлахПлановОбмена() Тогда
ВызватьИсключение НСтр("ru = ‘Не удалось зарегистрировать изменения на узлах планов обмена. Обратитесь к администратору.’");
КонецЕсли;
.
КонецПроцедуры
Подробнее см. пп. 1.1 и 1.3 стандарта Информирование пользователя.
3.6. Недопустимо делать проверки наличия у объекта реквизитов, методов, макетов и т.п., используя для этого исключения, т.к. это может привести к сложно диагностируемым ошибкам, а также затрудняет отладку в режиме «Останавливаться по ошибке».
Вместо перехвата исключений в этом случае рекомендуется:
- использовать механизмы работы с метаданными, чтобы явным образом проверять наличие или отсутствие реквизита (макета и т.п.);
- если различия связаны с особенностями встраивания библиотек – описывать особенности явным образом в переопределяемых модулях (см. Переопределяемые и поставляемые объекты);
- пересмотреть логику работы методов, использующих перехват исключений. Например, можно предусмотреть параметры, которые определяются в вызывающем коде и указывают нужно или нет обращаться к какому-либо методу или свойству объекта.
Попытка
КонтекстЭДОСервер.ПолучитьМакет("КомпонентаОбмена");
ПутьВК = КонтекстЭДОСервер.ПутьКОбъекту + ".Макет.КомпонентаОбмена";
Исключение
КонецПопытки;
МакетКомпонентыОбмена = КонтекстЭДОСервер.Метаданные().Макеты.Найти("КомпонентаОбмена");
Если МакетКомпонентыОбмена <> Неопределено Тогда
ПутьКМакету = КомпонентаОбмена.ПолноеИмя()
КонецЕсли;
3.7. Порядок обработки исключений при использовании транзакций описан в стандарте Транзакции: правила использования.
3.8. Неправильно использовать исключения для приведения значения к типу. Для таких операций необходимо использовать возможности объекта ОписаниеТипов .
Попытка
КоличествоДнейРазрешения = Число(Значение);
Исключение
КоличествоДнейРазрешения = 0; // значение по умолчанию
КонецПопытки;
ОписаниеТипа = Новый ОписаниеТипов("Число");
КоличествоДнейРазрешения = ОписаниеТипа.ПривестиЗначение(Значение);
Как работает попытка исключение 1с
Параметры:
// Операторы попытки
Исполняемый оператор или последовательность таких операторов.
Исключение
Операторы, следующие за ключевым словом Исключение выполняются, если при выполнении последовательности операторов произошла ошибка времени выполнения.
// Операторы исключения
Исполняемый оператор или последовательность операторов, которые обрабатывают исключительную ситуацию.
ВызватьИсключение
Оператор позволяет вызвать исключение в тех случаях, когда несмотря на отработку исключительной ситуации операторами исключения необходимо прервать выполнение модуля с ошибкой времени выполнения. Оператор допустим только внутри операторных скобок Исключение – КонецПопытки.
КонецПопытки
Ключевое слово, которое завершает структуру оператора обработки исключительных ситуаций.
Описание:
Оператор Попытка управляет выполнением программы, основываясь на возникающих при выполнении модуля ошибочных (исключительных) ситуациях, и определяет обработку этих ситуаций. В качестве ошибочных (исключительных) ситуаций воспринимаются ошибки времени выполнения модуля. Не предусмотрено определяемых пользователем исключений.
Если при выполнении последовательности операторов попытки произошла ошибка времени выполнения, то выполнение оператора, вызвавшего ошибку, прерывается и управление передается на первый оператор последовательности операторов исключения. При этом управление будет передано даже в том случае, если ошибку вызвал оператор, находящийся в процедуре или функции, вызванной из операторов попытки. Если ошибка произошла в вызванной процедуре или функции, то ее выполнение будет прервано, а локальные переменные – уничтожены. Это справедливо для любой вложенности вызовов. После выполнения последовательности операторов исключения управление передается на следующий за ключевым словом КонецПопытки оператор. Если же последовательность операторов попытки выполнилась без ошибок, то последовательность операторов исключения будет пропущена и управление также
будет продолжено с оператора, следующего за ключевым словом КонецПопытки.
Как отменить последнее действие в 1с?
Сочетание клавиш | Описание |
---|---|
Alt + Backspace Ctrl + Z | Отменить последнее действие |
Alt + Shift + Backspace, Ctrl + Y | Вернуть последнее действие |
Как отменить все действия на компьютере за день?
Речь идет о сочетании клавиш Ctrl+Z. С помощью данной комбинации можно легко и просто отменить последнюю выполненную операцию. Отмена последнего действия (комбинация Ctrl+Z) может быть очень полезной во многих случаях.
Как отменить последние действия на компьютере?
Отмена последнего действия
Как отменить проведение документа в 1с?
Как снять задачу в 1с8?
Рекомендуется сделать следующее:
- попытаться закрыть программу, нажав крестик или комбинацию Alt+F4;
- вызывать диспетчер задач через контекстное меню (правая кнопка на рабочем столе) или комбинацией Ctrl+Shift+Esc;
- найти зависший процесс и завершить его принудительно.
Как в 1с вернуться на шаг назад?
Вы можете отменить последнее действие, выбрав в меню изображения Правка → Отменить, но эта операция применяется так часто, что стоит запомнить комбинацию клавиш Ctrl+Z.
Как в 1с настроить горячие клавиши?
Как восстановить положение окна в 1с?
Для устранения неполадок такого рода, необходимо нажать правой кнопкой мыши на документе внизу рабочей области, в контекстном меню выбрать «Восстановить положение окна» или Alt+Shift+R.
Как вернуть отмененное действие?
Как отменить отмененное
- Нажмите комбинацию клавиш .
- Выполните команду Правка>Вернуть ввод.
- Щелкните на кнопке Вернуть панели инструментов (если она доступна).
Как узнать о последних действиях на компьютере?
Чтобы просмотреть записи, потребуется осуществить следующие действия:
- Откройте «Панель управления» и зайдите в «Администрирование».
- Здесь выберите иконку «Просмотр событий».
- В открывшемся окне перейдите в пункт «Журналы Windows».
- Далее выберите тип журнала и просмотрите нужные вам сведения.
Что будет если прервать возвращение компьютера в исходное состояние?
Когда вы используете функцию возврата компьютера в исходное состояние, Windows сбрасывает свои настройки о состояние к тому, которое установлено сразу после установки операционной системы. Если компьютер покупался с уже установленной Windows 10, то он будет сброшен к тому состоянию которое было во время покупки.
Как отменить последние изменения в Windows 10?
Как выполнить откат системы Windows 10 без точек восстановления
- Нажмите правой клавишей мыши по меню «Пуск» и выберите пункт «Параметры».
- Затем перейдите к графе «Обновление и безопасность».
- В левой части окна нажмите на «Восстановление».
- И затем на кнопку «Начать».
Как восстановить файлы после Ctrl Z?
Как восстановить файлы, удаленные при нажатии клавиш Ctrl+Z в Windows 10/8/7?
Использование сочетаний клавиш, список зарезервированных сочетаний
Область применения: управляемое приложение.
Для часто выполняемых или общеупотребимых действий рекомендуется назначать сочетания клавиш. Ниже приведены списки зарезервированных сочетаний в прикладных решениях и в платформе 1С:Предприятие .
Для действий, приведенных в таблицах, назначение указанных сочетаний клавиш обязательно. Использование зарезервированных сочетаний в иных целях запрещается.
Горячие клавиши в 1с
Глобальные действия — это действия, которые вы можете выполнять в любом состоянии программы. При этом не важно, что на данный момент открыто в "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" для отображения графических изображений. "Горячие" клавиши помогут, например, комфортно просмотреть изображение, расположенное в поле картинки.
Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при проведении документа из формы документа (провести и закрыть)
Заливкой выделены события, выполняющиеся в транзакции записи.
Последовательность событий при отмене проведения документа из формы документа
Заливкой выделены события, выполняющиеся в транзакции записи.
Обработчики событий
Расширение управляемой формы для документа. Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью .
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения». Параметр РежимПроведения может отсутствовать, если режим проведения в документе не определен.
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .
Расширение управляемой формы для документа. Вызывается перед записью объекта на сервере. Можно отменить запись. Выполняется вне транзакции.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
- РежимЗаписи , тип РежимЗаписиДокумента . В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи.
- РежимПроведения , тип РежимПроведенияДокумента . В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения.
Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.
- Отказ , тип Булево . Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись документа выполнена не будет. Значение по умолчанию: Ложь .
Расширение управляемой формы для документа. Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
- Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись произведена не будет. Значение по умолчанию: Ложь .
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый документ.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Расширение управляемой формы для документа. Вызывается после записи объекта на сервере и после завершения транзакции.
- ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Расширение управляемой формы для документа. Возникает на сервере после записи объекта и после окончания транзакции записи, то есть к моменту вызова этой процедуры запись объекта полностью завершена.
- ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».
Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Читайте также: