1с попытка получения неинициализированного значения параметра сеанса
(8) Можете концепцию объяснить, я пока вообще ничего не понимаю. Если бы этот механизм делал я, то нет ничего проще - параметр сеанса это глобальная переменная, которая видна из любого места, при этом в каждом сеансе каждого пользователя он свой, то есть если в одном сеансе я этот параметр поменял, то в другом сеансе другого пользователя этот параметр сеанса не изменился. С тех пор, как подобный параметр сеанса описан в конфигураторе и ему присвоен тип, он уже прям сразу доступен для чтения, например если я описал ему тип Справочник.ФизическиеЛица, то я читаю ПараметрыСеанса.МоёФизлицо и там лежит пустая ссылка. При такой концепции ни инициализация, ни модуль сеанса не нужны от слова совсем.
Теперь то, как оно на самом деле происходит. После запуска программы, несмотря на то, что МоёФизлицо описано в конфигураторе, чтение ПараметрыСеанса.МоёФизлицо дает ошибку. В хелпе написано что его за каким-то лядом надо инициализировать, причём ПриНачалеРаботыСистемы его инициализировать не получается, а только в модуле сеанса, который тоже непонятно зачем выдумали. Ну ОК, в модуле сеанса типа есть Процедура УстановкаПараметровСеанса(ТребуемыеПараметры), причём в хелпе написано что эта процедура вызывается один раз с ТребуемыеПараметры = Неопределено в момент старта системы, а в следующие разы оно срабатывает когда надо какой-то параметр сеанса переинициализировать (нафейхоа?) и типа их массив как раз в ТребуемыеПараметры и лежит. При этом, если поставить брейкпойнт при УстановкаПараметровСеанса, то в ПараметрыСеанса коллекция пустая, несмотря на то, что в конфигураторе их описано сто штук. И как вишенка на торте я вижу, что УстановкаПараметровСеанса вызывается много раз с ТребуемыеПараметры = Неопределено, в том числе не только при начале работы системы, а как раз перед тем, как в совершенно другом модуле совершенно другой обработки я этот параметр читаю. Получается, что если мой параметр сеанса не инициализировать, то его и прочитать не получится, а если прописать в коде инициализацию, то оно будет переинициализироваться каждый раз перед чтением. Видимо я не совсем понимаю концепцию разработчиков этого механизма, а в справке об этом не написано.
Если в ТребуемыеПараметры равно Неопределено, а параметр сеанса вам будет нужен, то инициализируйте его, несмотря на Неопределено.
(0)
>УтановкаПараметровСеанса с параметром Неопределено вызывается каким-то фоновым заданием
Как бы, у фоновых заданий свои сеансы -> в любом фоновом задании будет вызова УтановкаПараметровСеанса с Неопределено.
(10) параметр сеанса надо переинициализировать, если он изменился по бизнес-логике. Например, в параметрах сеанса хранится параметр доступа "Доступные объекты" и админ изменил права доступа. Пользователю можно перезайти в систему, а можно просто нажать кнопку "Обновить". По кнопке "Обновить" Ваш программный код заново инициализирует параметры сеанса, а потом вызовет обновление динамического списка, чтобы сработали новые RLS.
(0) Невнимательно читал. Неинициализированные параметры использовать нельзя - это защита от дурака. Но при первом обращении к неинициализированному параметру сеанса платформа дернет для программиста УстановкаПараметровСеанса с указанием, какой параметр необходимо проинициализировать. И вот если и тогда он не будет проинициализирован - тогда будет исключение.
(4) Ну, ходи из УФ за своим параметром сеанса на сервер. Сделай для этого функцию клиент-серверного общего модуля, чтобы если обращение с клиента - то ходило на сервер за ней.
В старых типовых на ОФ когда-то была подобная говносистема глобальных переменных, охватывающая и клиента и сервер. Но потом от нее отказались, слава богу. Потому что злоупотребление глобальным контекстом - это всегда костыли, чреватые боком. Да и в УФ это особо неэффективно. Да и особенно чревато в силу повсеместной асинхронности.
Если нужно банальное кэширование, то это эффективно делать "по месту". А на уровне общих модулей вообще есть готовый механизм повторного использования возвращаемых значений.
(2) Да. С параметром Неопределено вызывается один раз. Когда-то оно вообще один раз и дергалось. Но в новых версиях 1С для ускорения старта программы реализовали отложенную инициализацию. Чтобы при старте приложения можно было инициализировать необходимый минимум параметров, а остальное - при первом обращении.
(16) Могу скриншоты показать. По-видимому, (12) прав, у фонового задания свои параметры сеанса
Задача: пользователь в какой-то момент времени ввел пароль и система его запомнила до момента закрытия платформы, и пароль можно считать из любого места (модуль формы, модуль объекта, функция общего модуля, которая вызывается из СКД отчёта, а отчёт СКД, судя по всему, выполняется фоновым заданием, у которого свои параметры сеанса). Записывать в базу пароль, естественно, нельзя.
ЗЫ. Общая практика - не хранить пароль вообще никак и никогда. Провел аутентификацию, выдал права (провел авторизацию) - дальше просто используешь эти права.
(18) Там шифровать/расшифровывать надо "на лету", соответственно солёный пароль необходим.
(19) Тогда и говорить лучше не про пароль, а про ключ шифрования. Прямая задача пароля - аутентификация. Лучше сразу не смешивать понятия - может аукнуться.
Ну а так-то - да. Пишешь ключ шифрования в параметр сеанса и потом используешь. На старте по Неопределено инициализируешь каким-то дефолтным значением, которое в бизнес-логике интерпретируешь как пустое.
Не очень понятно, на чем ты споткнулся. То, что у тебя отчет формируется в фоне с пустым ключом шифрования - это не больше чем твое предположение, насколько я понял. Ну так проверь его. По-идее, все там должно быть в порядке.
(17)
>ИМХО, фоновые задания созданные из сеанса пользователя, используют его параметры сеанса.
От "родительского" сеанса берутся только параметры сеанса со значения разделителей.
>Иначе никакой отчет СКД при выполнении в фоне не смог бы использовать RLS
Руками (а не тем, на чём сидят) сделанный RLS использует только параметры сеанса инициализируемые "по запросу" (через УстановкаПараметровСеанса) - они просто инициализируются в сеансе фонового задания так же как и в родительском (если при этом в БД что-то поменялось - значения могут и разойтись).
(0) 1. Инициализировать параметры сеанса ты можешь в любом месте программы в серверном коде
2. Читать неинициализированные параметры сеанса нельзя - вывалится исключение
3. При попытке чтения неинициализированного параметра сеанса вызывается УстановкаПараметровСеанса(<ИмяПараметра>) в модуле сеанса, с именем требуемого параметра. Здесь тебе дают последний шанс инициализировать параметр. Если ты и здесь этого не сделаешь - вывалится исключение (см. пункт 2)
4. При старте программы один раз вызывается УстановкаПараметровСеанса(Неопределено) в модуле сеанса. Здесь ты можешь провести первоначальную инициализацию параметров сеанса, например заполнить неизменяемые (например, ТекущийПользователь). А можешь ничего не делать - решать тебе
5. Параметры сеанса в клиентском приложении и в запущенном из него фоновом задании общие. В этом вся суть параметров сеанса - из-под одного сеанса может быть несколько подключение к базе
Так что смело используй параметры сеанса в качестве глобальной переменной.
Только не забудь её первоначально инициализировать (присвоить ей значение, пусть даже пустое)
Привет) УПП 1.3.16.7(конф. для Украины). Пл. 8.2.15.310.
Такая проблема: Сделал отчет на управляемых формах.Отчет отражает движения с субконто по регистру бухгалтерии.
При формировании отчета вылетает такая ошибка(формирую не под полными правами):
И так для большого кол. документов.
Пользователю назначены две роли:1) пользователь(в роли даны права на ссылки всех документов)2) бухгалтер(права на отчет и т.д.)
По ошибке понимаю, что нужно дать право на чтение ссылки.Но у меня в роли 1 все ссылки есть в доступе.
Только даю права в роли 2- ошибки исчезают. Почему такое происходит.
(1) IT_PROGRAMMIST, а там скорее всего в ролях используется уточнение по записям (RLS) и в качестве параметра для уточнения (параметр в запросе) используется некий параметр сеанса.
Возможно или у пользователя нет доступа к этому параметру сеанса (не уверен) или параметр сеанса не устанавливается при начале работы системы (не инициализируется).
Вообщем надо внимаельнее роль посмотреть по документу и по этому реквизиту документа
По моему так
(3) IT_PROGRAMMIST, а вид клиента (тонкий или обычный) в обоих случаях один и тот же?
имеется в виду когда проверяешь отчет обычный или управляемый вид клиента меняещь или нет?
(4) вид клиента не меняется. Под одним сеансом сразу проверяю два отчета(5) IT_PROGRAMMIST, гм.. а все таки в ролях какой-нибудь текст по RLS есть?
Может быть в обычном отчете включен (прогрмано) например привелигированный режим или он запускается с ипсользование общего модуля с привелигированным режимом.
Или может там (в отчете) в явном виде прописано ПараметрСенаса.<какой-то> = <чему-то>
+(8) а где посмотреть привелигированный режим при запуске отчета?(10) IT_PROGRAMMIST, странно что нету текста RLS, мне кажется явно идет обращение к какому-то параметру сенса.
Привелигированный режим програмно включается командой УстановитьПривилегированныйРежим(<Включить>)
Если общий модуль задействован - то в его свойствах есть соответсвующая галочка.
Кстати, а оба отчета (обычный и управляемый) они внешние или встроенные?
Сп(2) Ягг, Спасибо! Столкнулся с аналогично ошибкой. не был установлен параметр сеанса. Ребят, по-поводу моей проблемы описанной в (1).Проблема была в следующем: основной режим запуска для моей конфигурации был "Обычное приложение". Инициализацию параметров я проводил в модуле обычного приложения в процедуре ПриНачалеРаботыСистемы.
Надо было производить инициализацию параметров в модуле сеанса в процедуре УстановкаПараметровСеанса. В этом и была проблема. websamson; runkov; efimenko.mykhailo; alexnov; reddima; KillerMann; Михаська; Мах; + 8 – Ответить +(6)основной режим работы конфигурации = Обычное приложение
на вскидку: слушай, а проверь просто все параметры сеанса (их наврено не много) они заполнены или нет?
просто небольшую обработку написать для этого
(15) IT_PROGRAMMIST, так ты их видимо из управляемой формы на клиенте получаешь. А их надо на сервере получать.
Наврено в этом причина
У тебя отчет формируется в управляемой форме в процедуре с какой директивой? &наСервере?
Или ты его в модуле отчета формируешь?
(20) IT_PROGRAMMIST, гм.. кувшин моей фантазия показыват дно :(
а вот то что в (15) это делалось на клиенет или на сервере? и вообще хоть один параметр норамльно то прочитатлся?
Её обработчик:
Отчет формируется БЕЗ ОШИБОК.
Если использую режим авто(т.е кнопка сформировать появляется автоматически) или код
ТОгда появляется ошибка о Попытка получения неинициализированного значения параметра сеанса.
(23) IT_PROGRAMMIST, одна глупая мысль в голову пришла. Фоновые задания (как и регламентные) выполняются на сревере не в контексте сеанса (кажется). Естествено, для них все параметры сеанса как бы не определены. Но, при этом не проверяются и права. ТОгда вопрос - откуда взялась ссылка на параметр сеанса? Может быть он как-то участвует в запросе или в параметрах СКД?
(22) В моём случае с параметрами сеанса и РЛС всё в порядке и другие механизмы это подтверждают. Проблема именно в СКД.
Использование
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Непосредственно);
решает вопрос.
Используется 1С:Предприятие 8.3 (8.3.6.2530). Видимо баг платформы.
дабы не плодить ветки, в версии БП 3.0
иногда выдаёт ошибку:
: Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация (1C:Enterprise 8.3.4.437): Ошибка при выполнении обработчика - 'ПередЗаписью'
: Ошибка при получении значения атрибута контекста (ПропуститьПроверкуЗапретаИзменения)
Попытка получения неинициализированного значения параметра сеанса
V8 = Новый COMОбъект("V83.COMConnector");
Попытка
Если Объект.База = Истина Тогда
Бухгалтерия = V8.Connect(РабочаяБаза());
Иначе
Бухгалтерия = V8.Connect(ТестоваяБаза());
КонецЕсли;
//вот эта строчка необходима !
Бухгалтерия.ПараметрыСеанса.ТекущийПользователь = Бухгалтерия.Справочники.Пользователи.НайтиПоНаименованию(ПолучитьТекущегоПользователя());
Исключение
Предупреждение("Нет соединения с базой данных!");
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Но еще и мало того ругается на то, что параметров не существует в "ПараметрахСеанса". А как такое может быть? Скажем параметр "НаличиеОбменаУПП" установлен в конфигурации, и обязательно присутствует в ПараметрахСеанса, куда он оттуда девается? Я понимаю не инициализирован, но не существует.
Причем может исчезнуть, после перезапуска работает, потом опять и т.д.
Все это больше смахивает на нестабильность самой 1с.
Кто нибудь решил эти проблемы?
(32) да странно как то ведёт себя на самом деле. Вроде у меня получается что из-за блокировок может не проинициализироваться.
принудительно устанавливаем все параметры сеанса. После этого как бабка отшептала.
(33) А у нас отключен полностью режим совместимости. Но так же было когда режим был с поддержкой 8.1
(36) Происходит переброска сеанса с одного сервера на другой - и в этот момент параметры становятся неинициализированными (контекст не перебрасывается, хотя сервер, видимо, считает, что должен перебрасываться). Причем это происходит даже если сервер всего 1.
(35) :) вчера ещё так сделал, но именно для проблемного параметра. пока не тестил ещё, собсно и тестить не получится, не воспроизводится ошибка.
(41) Установка всех параметров при передаче Неопределено лечит проблему на 99,99%.
(44) Я хотел им написать, да они ведь отфутболят в связи с режимом совместимости + "не удалось воспроизвести".
(46) напиши сразу "проявляется не всегда".
я тоже им писал, что 8.2.14 не хотела создавать начальный образ периферийки - мне отписались "не удалось воспроизвести", но потом исправили.
Господа коллеги. РЕШЕНИЕ ПО ДАННОЙ ПРОБЛЕМЕ.
На идею навел "dmpl" пост № 38, за что ему отдельное ОГРОМНОЕ спасибо.
Суть вот в чем, для ускорения, изолирования и т.д. 1С предлагает запускать сервер 1С с множеством рабочих процессов. Что нами использовалось на 8.1 без проблем. Как написал "dmlp" сервер начинает гонять сеансы между процессами (почему и зачем это уже к 1С), но гоняет косячно. По крайней мере в части параметров сеанса.
Мы запустили сервер 1С с одним рабочим процессом. И как бабка отшептала все эти ошибки.
Количество пользователей 150, производительность по первым прикидкам не упала нисколько. А в части переброски сеансов, даже увеличилась. Т.к. ничего не перебрасывает.
Как говорится решение с пылу, с жару.
при начале работы системы - смотрим в табло на ПараметрыСеанса,
и видим, что часть из них: "ошибка чтения записи", причем при каждом запуске по разному. у нас это появилось на третий день после перехода с 13 релиза на 15.
я сделал так: при старте, в процедуре модуля ПолныеПрава
(0) Это трабла следствие работы встроенного механизма отложенной инициализации параметров санса. Проявляется если процессов на сервере больше одного. Лечится так:
В модуле сеанса в разделе безусловной инициализации нужно проинициализировать некоторые параметры сразу (текст между каментов + и -):
Только рабочий процесс один у нас, ибо на 8.2 1с не рекомендует сама юзать много процессов (пруфа нет, читали где-то, не суть). Безусловная инициализация наверно поможет, что и было предложеностолкнулся при обмене между базами. лечил принудительной инициализацией. больше проблема не возникала.
(53) > (17) ага, лично я только так и словил.
Короче видимо трабла решена в мойм случае, эти ребята из филиала запустили несколько рабочих процессов. у всех остальных он один, и проблем нет
(55) нет обычный, но опять же наверно было таки связано с несколькими раб процессами, во время обмена просто я сам эту ошибку увидел
10096672 Попытка получения неинициализированного значения параметра сеанса
Проблема:
В клиент-серверном варианте информационной базы при работе в толстом клиенте, если кластер содержит несколько рабочих процессов, или выполнялись динамические обновления конфигурации базы данных, то при попытке получить из кода толстого клиента значения некоторых параметров сеанса может происходить ошибка
Попытка получения неинициализированного значения параметра сеанса
При работе в Конфигураторе после незначительного изменения конфигурации и ее сохранения (Ctrl +S) может "вылететь" конфигуратор и после повторного входа в конфигуратор может появиться данная ошибка.
Последовательность действий для решения проблемы:
1) Выполним запрос в среде SSMS:
Если запрос вернул результат тогда для безопасности:
- Устанавливаем блокировку на базу для входа пользователей (делается в консоли кластера 1С)
- Закрываем все соединения с БД;
- Обязательно делаем бэкап БД;
2) Выполним запрос в среде SSMS:
После того как первый раз вошли в конфигуратор, обязательно нужно обновить конфигурацию не динамически а в монопольном режиме.
При первом входе в базу в режиме предприятия возможно будет "висеть" 5-15 мин. (зависит от размера базы)
Не забываем снять блокировку с входа в БД.
Специальные предложения
Автор запретил комментарии
Просмотры 8432
Загрузки 0
Рейтинг 0
Создание 05.03.18 11:39
Обновление 05.03.18 11:39
№ Публикации 795322
Тип файла Архив с данными
Конфигурация Не имеет значения
Операционная система MS SQL
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Да
Интенсив предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. DevOps для 1С. Онлайн-интенсив проходит с 22 ноября по 21 декабря 2021 года.См. также
Универсальный редактор данных (УРД) Промо
Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов
1 стартмани
27.08.2021 5997 124 Adeptus 51
Доп. панель Alt+Z
Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.
2 стартмани
24.06.2021 8119 100 sapervodichka 57
Оптимизация размера изображений из присоединенных файлов УТ 11.4
5 стартмани
10.07.2020 8818 6 Neti 4
Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)
Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.
10 стартмани
27.11.2019 17339 46 akpaevj 46
Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо
Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.
1 стартмани
04.11.2018 54200 533 Eugen-S 35
Конфигурация для администраторов "Центр управления базами" для 8.3 УФ
Конфигурация предназначена для централизованного управления информационными базами предприятия. Разработана на БСП версии 2.4.4.76. В работе использует COM-соединение.
3 стартмани
09.10.2019 10777 36 WhiteOwl 17
Информация о программных лицензиях 1С (Ring GUI)
Обработка, представляющая из себя обертку функций Утилиты лицензирования 1С (ring) в понятном для обычного человека виде. По сути, это GUI утилиты RING
5 стартмани
18.09.2019 9626 34 MaxxG 6
Обновление конфигурации 1С из cf по расписанию
Часто в процессе внедрения или активной разработки конфигурации возникает необходимость ежедневного обновления конфигурации базы данных.
1 стартмани
09.09.2019 4117 1 sivin-alexey 2
DroidRAC2 - консоль администрирования кластера серверов 1С:Предприятие 8.3 под Android Промо
DroidRAC2 - клиент для RAS-сервиса кластера серверов платформы 1С:Предприятие 8.3 под Android.
1 стартмани
24.02.2017 27577 12 user700211_a.straltsou 20
Кто уложил 1С, или мониторинг загрузки кластера в разрезе пользователей с помощью Grafana
Мониторингом различных параметров работы кластера 1С в zabbix сейчас уже никого не удивишь. Собственно потребление памяти, процов и места на серверах обычно настраивают первыми. Потом идет мониторинг в разрезе rphost'ов и различные метрики функционирования SQL сервера. Но вот когда уже все это есть, то временами возникает вопрос - какой же конкретно нехороший человек пытается съесть все (ну не все, но много) ресурсы сервера? Можно смотреть в консоль кластера и ловить редиску там. Можно анализировать журнал регистраций, включать технологический журнал или накапливать статистку в специализированных базах 1С. Но, "настоящим" сисадминам проще как-то с внешними скриптами, базами данных и, например, Grafana. Расскажу что у нас получилось.
Использую модули БСП 2.3.1.76 для написания своей конфигурации.
Добавляю по частям.
При добавлении модуля "ДатаЗапретаИЗменения", столкнулся с проблемой
"Попытка получения неинициализированного значения параметра сеанса".
Гугль сообщает о такой проблеме, но там проблема в версии платформы 8.2
Здесь же платформа 8.3.6.2100.(как я понимаю, ошибка платформы уже давно исправлена)
Такое впечатление, что модуль не настроен. Что-то ему не хватает.
Эта ошибка выходит при первой попытке установить дату запрета.
Если смотреть отладчиком, то вываливается на :
ПараметрыСеанса.ДействующиеДатыЗапретаИзменения - ошибка чтения значения
Заранее спасибо за помощь в устранении этой проблемы!
Помощь в написании контрольных, курсовых и дипломных работ здесь
Попытка получения неинициализированного значения параметра
Взял конфигурацию, у знакомого, решил переделать под себя Переделал роли в тч и имена и с тех пор.
Передача параметра сеанса в отчет СКД
Здравствуйте. В собственной конфигурации делаю отчет в СКД. Нужно выбрать записи из регистра.
Попытка получения запущенных процессов на удалённом компьютере
При попытке получить список запущенных процессов, прога завершается авариино. Под дебагом говорит.
Сценарий, обеспечивающий чтение из реестра содержимого любого раздела, параметра и значения параметра
Помогите написать сценарий, обеспечивающий чтение из реестра содержимого любого раздела, параметра.
В модуле сеанса УстановкаПараметровСеанса() была проинципализирована? Так там по умолчанию как я понял инициализируется сеанс через процедуру
Все что ошибка чтения - не инициализирован не параметры. Для использования требуется инициализация.
Так как его тогда инициализировать?
Синюю хрень в Общих прописал(вернее скопировал из БСП)
в них указаны типы значений. (Булево, "Фиксированная структура" и т.д.)
правда есть отличие - эти объекты сняты с поддержки. Но не думаю что в этом проблема.
Trit5, установка параметров сеанса (модуль) и там процедура я писал выше. Перед использованием инициализируем, потом пользуем.Каким алгоритмом можно понять, на каком шаге инициализирует данный параметр типовая конфигурация БСП?
Ставлю точку останову на в модуле сеанса, так в БСП к этому шагу уже все определено.
Добавлено через 33 минуты
В общем проблема решена.
Если полностью перейти на версию БСП 2.3.1.76 то этой проблемы нет, где то там, в глубине, оно самостоятельно инициализирует параметры сеанса.
Значения типо Булево можно конечно и самому проинициализировать, но тип значения "Фиксированная Структура" нельзя. Вернее можно но, надо правильно ее создавать, для использования в дальнейшем.
Попытка скрестить версии БСП 2.2.5.36 и БСП 2.3.1.76 путем отдельных добавлений - не удачное решение.
Добавлено через 43 минуты
Либо же самостоятельно реализовать запрет редактирования от определенной константы, ДатыЗапрета.
Через открытие формы документа, проверку на дату и установка значения "ТолькоПросмотр".
Версия набора расширений для сеанса не найдена в параметрах сеанса
Вот такая ошибка внезапно вылезла утром, конфигурация УПП 1.3 Попытался загуглить - нашел.
Процедура параметра значения и параметра переменной
Даны 2 числа a=b=2. Написать процедуру, которая будет содержать параметр-значение x и.
Читайте также: