Последовательность событий при программном создании нового документа в 1С

При программном создании нового документа в 1С последовательность событий может выглядеть следующим образом:

  1. Создание объекта документа: Сначала создается объект документа с помощью метода СоздатьОбъект. Например: НовыйДокумент = Документы.ИмяДокумента.Создать();
  2. Заполнение реквизитов документа: После создания объекта необходимо заполнить его реквизиты. Это может включать установку значений для шапки документа и табличной части. НовыйДокумент.Дата = ТекущаяДата();
    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду(1);
  3. Заполнение табличной части: Если документ имеет табличную часть, то необходимо добавить строки в эту табличную часть и заполнить их. НоваяСтрока = НовыйДокумент.ТабличнаяЧасть.Добавить();
    НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(1);
    НоваяСтрока.Количество = 10;
  4. Проверка на ошибки: Перед записью документа рекомендуется выполнить проверку на ошибки, чтобы убедиться, что все обязательные реквизиты заполнены корректно. Если Не НовыйДокумент.Заполнен() Тогда
    Сообщить(“Заполните все обязательные поля!”);
    Возврат;
    КонецЕсли;
  5. Запись документа: После заполнения всех необходимых реквизитов документ записывается в базу данных. НовыйДокумент.Записать();
  6. Проведение документа: Если необходимо, документ можно провести сразу после записи. НовыйДокумент.Провести();
  7. Обработка событий: В зависимости от конфигурации могут срабатывать различные события, такие как ПриЗаписи, ПриПроведении, которые могут быть переопределены в модуле документа для выполнения дополнительных действий.
  8. Закрытие формы (если открыта): Если документ создается через форму, то после завершения всех операций форма может быть закрыта. Форма.Закрыть();

Эта последовательность может варьироваться в зависимости от конкретной конфигурации и требований бизнес-логики.

Как сделать автоматический перезапуск службы 1С на сервере Windows с очисткой кэша сеансов?

Для автоматического перезапуска службы 1С на сервере Windows с очисткой кэша сеансов можно использовать пакетный файл (.bat), который будет выполнять необходимые команды. Вот пример такого скрипта:

@echo off
setlocal enabledelayedexpansion

:: Задаем имя службы агента сервера 1С
set agent="1C:Enterprise 8.3 Server Agent (x86-64)"

:: Задаем файл лога
set logfile="C:\path\to\your\log\LOG_restart.txt"

:: Останавливаем службу агента сервера 1С
echo %date% %time% "Stopping service %agent%" >> %logfile%
net stop %agent% >> %logfile%

:: Ждем, пока служба остановится
timeout /t 10 /nobreak >nul

:: Очищаем кэш сеансов
echo %date% %time% "Clearing session cache" >> %logfile%
set cacheDir="C:\Program Files (x86)\1cv8\srvinfo\reg_1541"
rd /s /q %cacheDir%\snccntx* >> %logfile%

:: Запускаем службу агента сервера 1С
echo %date% %time% "Starting service %agent%" >> %logfile%
net start %agent% >> %logfile%

:: Завершение
echo %date% %time% "Service restarted successfully." >> %logfile%
endlocal

Пояснение к скрипту:

  1. Остановка службы: Используется команда net stop, чтобы остановить службу 1С.
  2. Очистка кэша сеансов: Удаляются все папки с кэшем сеансов, находящиеся в указанной директории. Убедитесь, что путь к кэшу соответствует вашей установке.
  3. Запуск службы: После очистки кэша служба запускается снова с помощью команды net start.
  4. Логирование: Все действия записываются в лог-файл для последующего анализа.

Настройка автоматического выполнения:

Чтобы этот скрипт выполнялся автоматически, вы можете использовать Планировщик задач Windows:

  1. Откройте “Планировщик задач”.
  2. Создайте новую задачу.
  3. Установите триггер (например, по расписанию).
  4. В разделе “Действия” выберите “Запустить программу” и укажите путь к вашему .bat файлу.
  5. Убедитесь, что выбраны опции “Выполнить с наивысшими правами” и “Выполнять вне зависимости от регистрации пользователя”.

Рекомендации:

  • Перед использованием скрипта протестируйте его в тестовой среде, чтобы избежать потери данных или сбоев в работе.
  • Убедитесь, что у пользователя, под которым выполняется скрипт, есть необходимые права для остановки и запуска службы.

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

Как добавить поддержку русского языка в Zabbix Appliance 7.0?


Пароли zabblix appliance по-умолчанию :

System:

  • root:zabbix

Zabbix frontend:

  • Admin:zabbix

Database:

  • root:<random>
  • zabbix:<random>

Источник – https://www.zabbix.com/documentation/current/en/manual/appliance

1. Смотрим список доступных локалей в системе CENTOS 8.
# localectl list-locales


2. Потом активную locale:
# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us


3. Добавляем русский язык командой:
# dnf install glibc-langpack-ru
4.Соглашаемся с установкой пакета.


5. После этого надо перезапустить сервер на CENTOS 8.
# reboot

В веб морде можно спокойно выставлять русский язык

Симлинки в Windows. Распределяем дисковую нагрузку в системе, связанную с 1С

Задался вопросом – что сделать, чтобы разгрузить нагрузку с системного диска с 1С, да так, чтобы не заморачиваться чисткой старых версий платформ и логов сервера?

А если у Вас бутылочное горлышко на системном диске или вы не хотите ушатывать SSD постоянной записью?

Будем решать задачу при помощи simlink

Читать далее

Настройка fail2ban на linux

Описывая Fail2ban в двух словах, можно сказать, что он позволяет на основе анализа логов блокировать тех, кто злоупотребляет доступностью сервера по сети. Например, защитить почтовые ящики от взлома путем перебора паролей или многократного запроса какого-либо ресурса.

Читая некоторые статьи в интернете, может сложиться неправильное мнение, что Fail2ban нужен только для защиты от брут-форс атак (перебор паролей). На самом деле, данный программный продукт — система реагирования на подозрительные действия.

Читать далее

Anydesk – ошибка “более 5 исходящих подключений”. Как вылечить от жадности? Как сделать автоматический ввод пароля в Anydesk?

Вчера начала мне моя любимая программка удаленной помощи выдавать сообщение, что я слишком часто ее использую для работы и мне нужно купить ее профессиональную версию, иначе ждать час до следующей попытки использования. С подобным я уже сталкивался с программой teamviewer, там все лечилось сменой mac на сетевом интерфейсе ( по крайней мере год назад). А как быть если в сети dhcp и лениво прописывать каждый раз новый мак на dhcp сервере? Или же как быть, если есть другие привязки mac адресов? Советы в интернете предлагают удалить anydesk и почистить реестр. У меня anydesk не был установлен, я использовал его всегда только для подключения к клиентам, а к себе подключался через связку vpn + rpd, благо нормальные протоколы VPN работают как на iPhone, так и не Android.

Как выяснилось, anydesk удаляется не полностью и ID остается. В реестре его веток в CU/software и LM/software я тоже не обнаружил. Лечение производится с помощью удаления папки из профайла пользователя простой командой удаления директории :

rd /s /q “c:/users/%username%/AppData/Roaming/Anydesk”

Дальше запускаем anydesk и видим, что у нас запуск как в первый раз и мы получили новый идентификатор. Пользуйтесь на здоровье

Дополню вам еще одной опцией : так как с удалением профайла, вы косячите сохраненные и добавленные в избранное адреса тоже, то адреса постоянных абонентов, к которым надо подключаться, можно сохранить вот так ( добавляете вторую строчку в cmd файл с вышеописанной мной командой чистки профиля)

echo МойПарольДляПодключения|”AnyDesk.exe” 143210151 –with-password

где МойПарольДляПодключения это сохраненный пароль постоянного доступа к пользовательскому раб месту, именуете его как например “Касса магазина алкашки на автовокзале.cmd” и anydesk будет открываться с автовводом пароля с одного запуска этого батника

Естественно, работать это будет если запущено с одной папки с anydesk ( установлен он или тупо скачан, все равно, я добавил его расположение в %path% чтобы просто запускать с любого места командной строки когда мне необходимо)

MS SQL Server Restart Computer – Failed решение

Во время обычной установки экземпляра MS SQL server я столкнулся с ошибкой “Restart Computer – Failed“. Это означает, что какие-то операции предыдущего инсталлятора не были совершены и теперь установка не будет произведена до исправления всех требований данного чек листа.

Но перезагрузка в данном варианте не помогала, и инсталлятор все равно останавливался на этом месте. Что же делать?

Большинство форумов советуют использовать в процессе установки ключ /SkipRules=RebootRequiredCheck, но он не всегда срабатывает. Есть другой способ обойти эту проверку %

  1. Откройте свой редактор реестра
  2. Перейдите к ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
  3. Переименуйте ключ PendingFileRenameOperations to PendingFileRenameOperations-temp (вы можете изменить название на оригинальное после того, как закончите свои действия по установке и настройке MSSQL Server) 
  4. Перезапустите установку MSSQL Server

Опция /SkipRules=RebootRequiredCheck не будет работать для MSSQL 2014, она работает только на MSSQL 2008.

Организация VPN подключения к Mikrotik (L2TP+IPSec)

Зачем

Организация VPN-подключений может использоваться в различных сценариях:

  1. Подключение удалённых клиентов к корпоративной сети (работа на дому, из командировок).
  2. Объединение сегментов локальной сети двух офисов, находящихся на удалении.

Несмотря на великое множество различных протоколов и типов VPN, применительно к Mikrotik чаще всего используется связка L2TP + IPsec, т.к. для клиентов на основе Microsoft Windows не требуется установка дополнительного программного обеспечения (в отличие от OpenVPN, например), что существенно облегчает интеграцию пользователей, не обладающих высоким навыком работы на компьютере.

Итак, настраиваем сервер и клиент L2TP + IPsec.

Читать далее