Перед получением параметров работы клиента запуск программы должен быть завершен

1С БСП 3.0.2+ (обновляется по мере выхода). Contribute to klimenko-1c/SSL development by creating an account on GitHub.

/////////////////////////////////////////////////////////////////////////////////////////////////////// // Copyright (c) 2019, ООО 1С-Софт // Все права защищены. Эта программа и сопроводительные материалы предоставляются // в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0) // Текст лицензии доступен по ссылке: // https://creativecommons.org/licenses/by/4.0/legalcode /////////////////////////////////////////////////////////////////////////////////////////////////////// #Область СлужебныеПроцедурыИФункции // См. СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗапуске(). Функция ПараметрыРаботыКлиентаПриЗапуске () Экспорт ПроверитьПорядокЗапускаПрограммыПередНачаломРаботыСистемы() ; ПараметрыПриЗапускеПрограммы = ПараметрыПриложения[ «СтандартныеПодсистемы.ПараметрыПриЗапускеПрограммы» ] ; Параметры = Новый Структура ; Параметры.Вставить( «ПолученныеПараметрыКлиента» , Неопределено ) ; Если ПараметрыПриЗапускеПрограммы.Свойство( «ПолученныеПараметрыКлиента» ) И ТипЗнч (ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента) = Тип ( «Структура» ) Тогда Параметры.Вставить( «ПолученныеПараметрыКлиента» , ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента) ; КонецЕсли ; Если ПараметрыПриЗапускеПрограммы.Свойство( «ПропуститьОчисткуСкрытияРабочегоСтола» ) Тогда Параметры.Вставить( «ПропуститьОчисткуСкрытияРабочегоСтола» ) ; КонецЕсли ; Параметры.Вставить( «ПараметрЗапуска» , ПараметрЗапуска ) ; Параметры.Вставить( «СтрокаСоединенияИнформационнойБазы» , СтрокаСоединенияИнформационнойБазы ()) ; Параметры.Вставить( «ЭтоВебКлиент» , ЭтоВебКлиент()) ; Параметры.Вставить( «ЭтоLinuxКлиент» , ОбщегоНазначенияКлиент.ЭтоLinuxКлиент()) ; Параметры.Вставить( «ЭтоOSXКлиент» , ОбщегоНазначенияКлиент.ЭтоOSXКлиент()) ; Параметры.Вставить( «ЭтоWindowsКлиент» , ОбщегоНазначенияКлиент.ЭтоWindowsКлиент()) ; Параметры.Вставить( «ЭтоМобильныйКлиент» , ЭтоМобильныйКлиент()) ; Параметры.Вставить( «ИспользуемыйКлиент» , ИспользуемыйКлиент()) ; Параметры.Вставить( «КаталогПрограммы» , ТекущийКаталогПрограммы()) ; Параметры.Вставить( «ИдентификаторКлиента» , ИдентификаторКлиента()) ; Параметры.Вставить( «СкрытьРабочийСтолПриНачалеРаботыСистемы» , Ложь ) ; Параметры.Вставить( «ОперативнаяПамять» , ОбщегоНазначенияКлиент.ОперативнаяПамятьДоступнаяКлиентскомуПриложению()) ; Параметры.Вставить( «РазрешениеОсновногоЭкрана» , РазрешениеОсновногоЭкрана()) ; // Установка даты клиента непосредственно перед вызовом, чтобы уменьшить погрешность. Параметры.Вставить( «ТекущаяДатаНаКлиенте» , ТекущаяДата ()) ; // Для расчета ПоправкаКВремениСеанса. Параметры.Вставить( «ТекущаяУниверсальнаяДатаВМиллисекундахНаКлиенте» , ТекущаяУниверсальнаяДатаВМиллисекундах ()) ; ПараметрыКлиента = СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиентаПриЗапуске(Параметры) ; Если ПараметрыПриЗапускеПрограммы.Свойство( «ПолученныеПараметрыКлиента» ) И ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента <> Неопределено И Не ПараметрыПриЗапускеПрограммы.Свойство( «ОпцииИнтерфейса» ) Тогда ПараметрыПриЗапускеПрограммы.Вставить( «ОпцииИнтерфейса» , ПараметрыКлиента.ОпцииИнтерфейса) ; ПараметрыПриЗапускеПрограммы.ПолученныеПараметрыКлиента.Вставить( «ОпцииИнтерфейса» ) ; КонецЕсли ; СтандартныеПодсистемыКлиент.ЗаполнитьПараметрыКлиента(ПараметрыКлиента) ; // Обновление состояния скрытия рабочего стола на клиенте по состоянию на сервере. СтандартныеПодсистемыКлиент.СкрытьРабочийСтолПриНачалеРаботыСистемы( Параметры.СкрытьРабочийСтолПриНачалеРаботыСистемы , Истина ) ; Возврат ПараметрыКлиента ; КонецФункции // См. СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиента(). Функция ПараметрыРаботыКлиента () Экспорт ПроверитьПорядокЗапускаПрограммыПередНачаломРаботыСистемы() ; ПроверитьПорядокЗапускаПрограммыПриНачалеРаботыСистемы() ; СвойстваКлиента = Новый Структура ; // Установка даты клиента непосредственно перед вызовом, чтобы уменьшить погрешность. СвойстваКлиента.Вставить( «ТекущаяДатаНаКлиенте» , ТекущаяДата ()) ; // Для расчета ПоправкаКВремениСеанса. СвойстваКлиента.Вставить( «ТекущаяУниверсальнаяДатаВМиллисекундахНаКлиенте» , ТекущаяУниверсальнаяДатаВМиллисекундах ()) ; Возврат СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиента(СвойстваКлиента) ; КонецФункции #Область ПредопределенныйЭлемент // См. СтандартныеПодсистемыПовтИсп.СсылкиПоИменамПредопределенных Функция СсылкиПоИменамПредопределенных ( ПолноеИмяОбъектаМетаданных ) Экспорт Возврат СтандартныеПодсистемыВызовСервера.СсылкиПоИменамПредопределенных(ПолноеИмяОбъектаМетаданных) ; КонецФункции #КонецОбласти Процедура ПроверитьПорядокЗапускаПрограммыПередНачаломРаботыСистемы () ИмяПараметра = «СтандартныеПодсистемы.ЗапускПрограммыЗавершен» ; Если ПараметрыПриложения[ИмяПараметра] = Неопределено Тогда ВызватьИсключение НСтр ( «ru = ‘Ошибка порядка запуска программы. |Первой процедурой, которая вызывается из обработчика события ПередНачаломРаботыСистемы |должна быть процедура БСП СтандартныеПодсистемыКлиент.ПередНачаломРаботыСистемы.’» ) ; КонецЕсли ; КонецПроцедуры Процедура ПроверитьПорядокЗапускаПрограммыПриНачалеРаботыСистемы () Если Не СтандартныеПодсистемыКлиент.ЗапускПрограммыЗавершен() Тогда ВызватьИсключение НСтр ( «ru = ‘Ошибка порядка запуска программы. |Перед получением параметров работы клиента запуск программы должен быть завершен.’» ) ; КонецЕсли ; КонецПроцедуры #Область ПараметрыРаботыКлиентаПриЗапуске Функция ИспользуемыйКлиент () ИспользуемыйКлиент = «» ; #Если ТонкийКлиент Тогда ИспользуемыйКлиент = «ТонкийКлиент» ; #ИначеЕсли ТолстыйКлиентУправляемоеПриложение Тогда ИспользуемыйКлиент = «ТолстыйКлиентУправляемоеПриложение» ; #ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда ИспользуемыйКлиент = «ТолстыйКлиентОбычноеПриложение» ; #ИначеЕсли ВебКлиент Тогда ОписаниеБраузера = ТекущийБраузер() ; Если ПустаяСтрока (ОписаниеБраузера.Версия) Тогда ИспользуемыйКлиент = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( «ВебКлиент.%1» , ОписаниеБраузера.Название) ; Иначе ИспользуемыйКлиент = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( «ВебКлиент.%1.%2» , ОписаниеБраузера.Название , СтрРазделить (ОписаниеБраузера.Версия , «.» )[ 0 ]) ; КонецЕсли ; #КонецЕсли Возврат ИспользуемыйКлиент ; КонецФункции Функция ТекущийБраузер () Результат = Новый Структура( «Название,Версия» , «Другой» , «» ) ; СистемнаяИнформация = Новый СистемнаяИнформация ; Строка = СистемнаяИнформация.ИнформацияПрограммыПросмотра ; Строка = СтрЗаменить (Строка , «,» , «;» ) ; // Opera Идентификатор = «Opera» ; Позиция = СтрНайти (Строка , Идентификатор , НаправлениеПоиска.СКонца) ; Если Позиция > 0 Тогда Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Результат.Название = «Opera» ; Идентификатор = «Version/» ; Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Результат.Версия = СокрЛП (Строка) ; Иначе Строка = СокрЛП (Строка) ; Если СтрНачинаетсяС (Строка , «/» ) Тогда Строка = Сред (Строка , 2 ) ; КонецЕсли ; Результат.Версия = СокрЛ (Строка) ; КонецЕсли ; Возврат Результат ; КонецЕсли ; // IE Идентификатор = «MSIE» ; // v11- Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Результат.Название = «IE» ; Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Позиция = СтрНайти (Строка , «;» ) ; Если Позиция > 0 Тогда Строка = СокрЛ ( Лев (Строка , Позиция — 1 )) ; Результат.Версия = Строка ; КонецЕсли ; Возврат Результат ; КонецЕсли ; Идентификатор = «Trident» ; // v11+ Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Результат.Название = «IE» ; Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Идентификатор = «rv:» ; Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Позиция = СтрНайти (Строка , «)» ) ; Если Позиция > 0 Тогда Строка = СокрЛ ( Лев (Строка , Позиция — 1 )) ; Результат.Версия = Строка ; КонецЕсли ; КонецЕсли ; Возврат Результат ; КонецЕсли ; // Chrome Идентификатор = «Chrome/» ; Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Результат.Название = «Chrome» ; Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Позиция = СтрНайти (Строка , » « ) ; Если Позиция > 0 Тогда Строка = СокрЛ ( Лев (Строка , Позиция — 1 )) ; Результат.Версия = Строка ; КонецЕсли ; Возврат Результат ; КонецЕсли ; // Safari Идентификатор = «Safari/» ; Если СтрНайти (Строка , Идентификатор) > 0 Тогда Результат.Название = «Safari» ; Идентификатор = «Version/» ; Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Позиция = СтрНайти (Строка , » « ) ; Если Позиция > 0 Тогда Результат.Версия = СокрЛП ( Лев (Строка , Позиция — 1 )) ; КонецЕсли ; КонецЕсли ; Возврат Результат ; КонецЕсли ; // Firefox Идентификатор = «Firefox/» ; Позиция = СтрНайти (Строка , Идентификатор) ; Если Позиция > 0 Тогда Результат.Название = «Firefox» ; Строка = Сред (Строка , Позиция + СтрДлина (Идентификатор)) ; Если Не ПустаяСтрока (Строка) Тогда Результат.Версия = СокрЛП (Строка) ; КонецЕсли ; Возврат Результат ; КонецЕсли ; Возврат Результат ; КонецФункции Функция ТекущийКаталогПрограммы () #Если ВебКлиент Или МобильныйКлиент Тогда КаталогПрограммы = «» ; #Иначе КаталогПрограммы = КаталогПрограммы () ; #КонецЕсли Возврат КаталогПрограммы ; КонецФункции Функция РазрешениеОсновногоЭкрана () ИнформациюЭкрановКлиента = ПолучитьИнформациюЭкрановКлиента () ; Если ИнформациюЭкрановКлиента.Количество() > 0 Тогда DPI = ИнформациюЭкрановКлиента[ 0 ].DPI ; РазрешениеОсновногоЭкрана = ? (DPI = 0 , 72 , DPI) ; Иначе РазрешениеОсновногоЭкрана = 72 ; КонецЕсли ; Возврат РазрешениеОсновногоЭкрана ; КонецФункции Функция ИдентификаторКлиента () СистемнаяИнформация = Новый СистемнаяИнформация ; Возврат СистемнаяИнформация.ИдентификаторКлиента ; КонецФункции Функция ЭтоВебКлиент () Экспорт #Если ВебКлиент Тогда Возврат Истина ; #Иначе Возврат Ложь ; #КонецЕсли КонецФункции Функция ЭтоМобильныйКлиент () Экспорт #Если МобильныйКлиент Тогда Возврат Истина ; #Иначе Возврат Ложь ; #КонецЕсли КонецФункции #КонецОбласти #КонецОбласти
Читайте также:
1с внешняя компонента с таким идентификатором уже загружена в программу

Показывать по

Что такое тонкий клиент 1С:Фреш и как его правильно настроить

Параметры в запросах 1С


10
20
40
сообщений

Дата регистрации: 27.08.2013
Сообщений: 41

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

П.С.
Вот что нашла только что на просторах интернета :

Для релиза 1С:Бухгалтерии 3.0.33.19 характерна следующая ошибка, которая начинает проявлять себя, когда конфигурация не обновляется достаточно долго:

Текст ошибки гласит: «Возникла исключительная ситуация при запуске программы. Техническая информация об ошибке записана в журнал регистрации. Недостаточно фактических параметров».
Инструкции для исправления:

  1. Нажмите кнопку продолжить.
  2. Обновитесь на один из следующих релизов конфигурации.

С уважением, Алексей Карманов (школа 1С программистов).

Источник: oshibkam.ru

Обработка длительных операций в фоновом режиме или «Как сделать кота»

В этой статье мы разберем, как обрабатывать длительные операции в 1С асинхронно, то есть таким образом, чтобы дать пользователю возможность продолжить работу, не дожидаясь завершения операции. А также перенести всю нагрузку по выполнению таких операций на сервер.

Для таких операций разработчики систем 1С рекомендуют использовать Фоновые задания. В последних версиях типовых конфигураций они оформляются окошком с котом.

Обработка длительных операций в фоновом режиме или

1C:Enterprise

O= — определяет скорость соединения: Normal — обычная, Low — низкая скорость соединения.

C= — передача параметра в конфигурацию.

N= — имя пользователя. Должно быть указано так же, как в списке пользователей, создаваемом в Конфигураторе.

P= — пароль пользователя, имя которого указано в параметре N. Если у пользователя нет пароля, этот параметр можно опустить.

WA- — запрет применения аутентификации операционной системы при старте Предприятия.

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

WA+ — установка обязательного применения аутентификации операционной системы при старте 1С:Предприятия. Если параметр WA не указывается, то подразумевается, что используется параметр командной строки WA+.

OIDA[+/-] — применение сквозной аутентификации пользователя между разными информационными базами и/или внешними ресурсами:

OIDA + — использовать OpenID -аутентификацию (по умолчанию).

OIDA — — не использовать OpenID -аутентификацию.

Если при запуске клиента параметр OIDA не задан, или задан параметр OIDA+, то производится попытка аутентификации через OpenID-провайдера, адрес которого задан в файле deafault.vrd публикации этой информационной базы.

Если OpenID-провайдер требует интерактивной аутентификации (происходит первое обращение или истекло время жизни признака аутентифицированности), клиент отображает диалог для ввода имени и пароля пользователя.

Аутентификация происходит по списку пользователей информационной базы OpenID-провайдера.

Аутентифицируемый пользователь информационной базы, использующих OpenID-аутентификацию, должен соответствовать по имени пользователю информационной базы OpenID-провайдера.

Authoff — выполняет OpenID logout (завершение сеанса работы пользователя) . Завершение сеанса работы выполняется вне зависимости от используемого в дальнейшем метода аутентификации.

L= — указывается код языка интерфейса платформы. Поддерживаемые языки интерфейса:

Язык

Код
Азербайджанский az
Английский en
Болгарский bg
Венгерский hu
Вьетнамский vi
Грузинский ka
Казахский kk
Китайский zh
Латышский lv
Литовский lt
Немецкий de
Польский pl
Румынский ro
Русский ru
Турецкий tr
Украинский uk
Французский fr

VL= — указывается код локализации сеанса, используемый при форматировании данных типа Число и Дата, а также в методах ЧислоПрописью() и ПредставлениеПериода().

DisableStartupMessages — подавляет стартовое сообщение: «Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?».

DisplayAllFunctions — включает команду меню «Все функции».

DisplayPerformance — показать количество вызовов сервера и объем данных, отправляемых на сервер и принимаемых с сервера.

DebuggerURL — идентификация отладчика, к которому приложение сразу после запуска должно подключиться. Указывается URL отладчика (протокол, компьютер и номер порта), на котором в отладчике можно создавать удаленные объекты.

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

TESTCLIENTID — запуска веб-клиента как управляемого другими клиентами с помощью менеджера тестирования

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

UsePrivilegedMode — запуск в режиме привилегированного сеанса. Разрешен аутентифицированному пользователю, имеющему административные права. Журнал регистрации фиксирует установку или отказ в возможности установки режима привилегированного сеанса. Например: http://server/ib? UsePrivilegedMode .

= [|]

[|] — признак использования: «+» (по умолчанию) — реквизит используется; «-» — не используется;

Если разделитель не используется, то перед значением должен быть «-«. Если первым символом в значении разделителя содержится символ «+» или «-«, то при указании его нужно удваивать.

— значение общего реквизита.

Если в значении разделителя присутствует запятая, то при указании ее нужно удваивать. Если значение разделителя пропущено, но разделитель должен использоваться, то используется символ «+».

Разделители разделяются запятой.

«Z-ПервыйРазделитель,+,—ТретийРазделитель», что означает:

Первый разделитель выключен, значение – «ПервыйРазделитель»,

Второй разделитель включен, значение – пустая строка,

Третий разделитель выключен, значение – «-ТретийРазделитель».

iTaxi — режим интерфейса «Такси».

itdi – режим интерфейса с использованием закладок.

isdi – режим интерфейса с использованием отдельных окон (используется по умолчанию).

Источник: yellow-erp.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru