
Комментарии 12
А какой смысл заниматься такими танцами когда 1С прекрасно работает без NCALayer достаточно установить крипто библиотеки на сервера RDS и настроить 1С
Оно не только для 1С нужно, в заключений коротко указано для каких ещё систем требуется. К сожалению сейчас даже кадровику требуется NCLAyer.
Если у компании используются только российские механизмы подписи — да, 1С спокойно работает без NCALayer.
Но в казахстанской инфраструктуре NCALayer всё равно нужен: ЭСФ, Госзакупки, НУЦ РК и часть модулей 1С напрямую с ним работают. В терминальной среде он часто конфликтует по портам, поэтому без такой настройки стабильной работы просто не добиться.
То есть вопрос не в «танцах», а в том, что для ряда сервисов NCALayer требуется по-другому никак.
Хмм. Упорно установщик NCAlayer, ставит его в директорию пользователя. Каким образом удалось его поставить в Program Files? Если не тупо скопировали его туда.
Ваш метод с портом к сожалению не взлетел, вручную указываешь или через повершел сприпты, результат и порт один 13579.
И на моей памяти, не припомню чтобы разработчики NCAlayer были лояльны на не стандартный порт, везде были отписки что идите к 1С Казахстан (в случае плагина в 1С Рейтинг), якобы это их заботы.
Вы правы — директорию установки выбрать невозможно (спасибо НУЦ РК), поэтому я действительно вручную перенёс установленную папку NCALayer в Program Files. Иного штатного способа у инсталлятора нет.
По поводу порта и исполнения скриптов:
рекомендую для начала проверить политику выполнения PowerShell-скриптов. На сервере выполните команду:
Set-ExecutionPolicy Bypass
Если политика была жёсткой, она могла блокировать самописные скрипты, из-за чего порт и не менялся.
Далее попробуйте запустить скрипт, который назначает порт вручную, а после в командной строке от имени администратора выполните:
ECHO %NCALAYERPORT%
Команда должна вывести назначенный порт в пределах диапазона.
Что касается нестандартных портов — да, разработчики NCALayer обычно не идут навстречу. Но на сайте pro1c есть материал, где описан механизм работы NCALayer на разных портах:
Спасибо за развернутый ответ.
С PowerShell знаком не первый год, писал на нем так же скрипты для себя.
По NCAlayer, какое бы значение не стояло в переменной окружения, Вашим скриптом или вручную указываешь (в том числе вариантом с pro1c), ему все равно. Проверено как на тестовых виртуалках, так и в проде на 2012 R2, 2016 и 2019. С AD и без.
К сожалению, продолжаем ждать "наших", что спустятся с небес и соизволят сделать эту возможность без костылей)
Автору спасибо, статья сразу нагуглилась, сэкономил мне часа 3 точно
Артем, вы проделали огромную работу! Спасибо!
Есть вопрос:
1Ска видимо умеет читать и использовать переменную NCALAYERPORT и обращаться к приложению на правильный порт!
А вы не пробовали «заставить» скрипт Кабинета налогоплательщика https://knp.kgd.gov.kz/ (или других гос.сайтов enbek.kz) обращаться к переменной NCALAYERPORT и соответственно правильному порту ?
Спасибо большое за тёплые слова поддержки!
По поводу КНП: такой вариант действительно можно рассматривать, но тут всё зависит от того, как именно реализован клиентский скрипт самого Кабинета налогоплательщика.
Если в коде КНП порт или адрес подключения указаны жёстко, то напрямую “заставить” его использовать другую переменную не получится без изменения самого скрипта. Браузерный JavaScript не имеет доступа к переменным окружения Windows, поэтому он не может просто прочитать значение из системы так же, как это делает локальное приложение.
Теоретически похожую схему можно реализовать только через дополнительную прослойку: например, локальный прокси, пользовательский скрипт/расширение браузера или доработку самого клиентского кода КНП, чтобы он обращался к нужному адресу и порту.
То есть идея рабочая как направление, но не “из коробки”. Для КНП это уже не вопрос системной переменной, а вопрос того, можно ли изменить или перехватить логику обращения внутри клиентского скрипта портала.
Спасибо за идею, она действительно интересная.
Как стабильно запускать NCALayer в терминальной инфраструктуре: решение для RDS, Citrix и WSP