Возможное практическое применение
Представим ситуацию, что мы работаем с каким-либо сервисом, где есть подписчики. После завершения работы, сохраняем в переменную LastActivity нынешние дату и время. Для этого используем экшен и в поле данных указываем макрос {-TimeNow.Date-} (подробнее о доступных макросах можно прочитать в статье Окно переменных).
В переменной OldSubcribers содержится количество подписчиков, которое мы получили при работе шаблона.
В переменной PhoneNum содержится номер телефона, привязанный к аккаунту.
Сохраняем наш профиль и указываем желаемые переменные для сохранения.
Начиная с версии 7.3.1.0 сохранение профиля проще и логичнее происходит при Работе с профиль-папкой.
Т.к. переменные token и UserNameLastSub нам не нужны по тем или иным причинам, мы их не сохраняем.
Позже мы можем использовать “Загрузку профиля” и получить нужные переменные, далее их используем для личного логирования действий. Создадим действие Оповещение (Notification/Запись в лог) и укажем там следующий текст:
В нем задействовано несколько макросов: — имя профиля, , , — переменные , , соответственно. На выходе получим следующий текст в логе:
Также, при сохранении и загрузке профиля, Вы можете использовать пользовательские переменные, переменные окружения и их сочетания. Например, при установке следующей строки в “Путь к файлу” при сохранении профиля, в папке Profiles (эта папка будет создана рядом с файлом проекта если на момент выполнения экшена её не существовало) будет сохранён файл под названием .
Что будет, если нет системы взаимодействия?
Примеры, которые мы показали выше, были выполнены на файловой базе. Если вы используете клиент-серверный вариант работы, то всё будет выглядеть так же при условии, что база подключена к системе взаимодействия.
Когда вы работаете в клиент-серверном варианте, и система взаимодействия недоступна, отличие будет заключаться только в том, что в диалоге не будет предложения Написать сообщение пользователю?
А вот в том случае, когда используется файловый вариант работы и система взаимодействия недоступна, сообщение будет выглядеть, по сути, как и раньше:
Тут, к сожалению, можно будет только узнать о том, что данные заблокированы, и подождать, когда блокировка будет снята. Каждые 10 секунд диалог проверяет, не освободились ли данные.
Поэтому подключайтесь к системе взаимодействия, рассказывайте о ней своим заказчикам и клиентам. Подключиться к ней совсем не сложно, а удобства от неё становится всё больше и больше :), уже и на уровне «платформенных» механизмов.
Взаимодействие при пессимистической блокировке
Чтобы повысить удобство работы в перечисленных ситуациях, мы сделали несколько изменений.
Во-первых, в версии 8.3.14 мы изменили логику, по которой снимается пессимистическая блокировка. Раньше она снималась после того, как пользователь закрывает форму. Теперь она снимается раньше, после того, как данные, которые изменялись в форме, записаны. О том, что данные записаны, сигнализирует признак модифицированности формы. Через минуту после того, как у формы снимается признак модифицированности, платформа автоматически снимает и пессимистическую блокировку.
Поэтому теперь достаточно просто записать данные в форме, а саму форму можно оставить открытой. Через минуту другие пользователи смогут изменять эти же данные.
Во-вторых, в версии 8.3.15 мы пошли ещё дальше, и задействовали в этом процессе систему взаимодействия. Сервер взаимодействия 1С:Диалог, развернутый фирмой «1С», доступен для всех желающих. Поэтому любые пользователи прикладных решений могут зарегистрировать на нём свою информационную базу и пользоваться его возможностями.
Так вот теперь, если прикладное решение подключено к системе взаимодействия, сценарий редактирования одних и тех же данных будет выглядеть более простым и удобным. Рассмотрим пару примеров.
Пример 1. Менеджер по продажам решил добавить в заказ №17 ещё несколько товаров. Он открыл документ и начал подбирать товары. В этот момент администратор захотел изменить статус у этого же заказа.
Как только администратор нажмёт в форме кнопку Выполнен, он увидит такой диалог:
На всякий случай, чтобы ничего не испортить, администратор нажимает Написать сообщение пользователю? После этого у администратора появляется следующий диалог:
Допустим, администратор решает ничего не менять в сообщении и нажимает Отправить сообщение. Тогда у менеджера по продажам появляется такое оповещение:
Поскольку менеджер по продажам всё ещё редактирует заказ, он нажимает на это оповещение и через систему взаимодействия отвечает администратору:
Администратор решает подождать, и заняться пока другими делами. В клиентском приложении у администратора по-прежнему отображается самый первый диалог. Этот диалог отсчитывает время и ожидает возможности начать редактирование.
Как только менеджер по продажам закроет форму заказа (или через минуту после того, как он сохранит данные), администратор узнает об этом. Форма (у менеджера) автоматически снимет пессимистическую блокировку, а администратор увидит у себя следующее сообщение:
Теперь администратор просто нажмёт Перечитать, увидит новые данные, которые добавил в этот заказ менеджер по продажам, и сможет изменить статус заказа.
Пример 2. Администратор начал вносить изменения в заказ, но не закончил, и ушёл домой. Документ так и остался открытым и несохранённым. Придя домой, администратор решил всё же закончить изменения сегодня, не оставлять на завтра. Он подключился к базе, открыл этот заказ и попытался изменить его. В результате он увидел следующее:
Поскольку он прекрасно помнит, что он хотел изменить в этом заказе, он решил не сохранять изменения, выполненные на работе, а сделать сейчас всё то же самое ещё раз. Он нажимает Начать редактировать и получает такое оповещение:
Это значит что платформа, с помощью системы взаимодействия, сняла пессимистическую блокировку, установленную в сеансе, открытом на работе.
Администратор вносит изменения и сохраняет их.
Придя на работу завтра, он увидит на своём компьютере этот же открытый документ, который он оставил вчера, и следующее сообщение в центре оповещений:
Безопасный режим Windows завис
Эта ошибка безопасного режима может возникать по нескольким причинам, включая сбой оборудования, повреждение программного обеспечения, поврежденные файлы в системе, поврежденные драйверы и проблемы с BIOS. Когда ваш компьютер с Windows 10 застревает на каком-либо экране или сообщении, или это означает, что ОС не может найти и загрузить системные файлы, необходимые для завершения процесса. Это могут быть системные драйверы или файлы ОС, например. файлы classpnp.sys, disk.sys, amdkmpfd.sys, aswardisk.sys и т. д. Например, classpnp.sys — это системный файл классов Microsoft Windows SCSI, который входит в состав ОС Windows.
Скорее всего, поскольку вы не можете загрузиться в безопасном режиме, вы также не сможете загрузиться в чистом состоянии загрузки или нормальной загрузке.
Что ж, если вы оказались в такой ситуации, попробуйте следующие предложения и посмотрите, поможет ли что-нибудь.
Отключите внешнее оборудование
Прежде чем начать, отключите от вашего ноутбука или ПК внешнее оборудование — например, USB-мышь, внешний жесткий диск, адаптер Bluetooth для беспроводной мыши, внешний кулер и любое другое устройство.
Загрузитесь в Advanced Startup Options
Чтобы погрузить вас в Расширенные параметры запуска экран, нажмите Сдвиг и нажмите Перезапуск. Это работает? Если так, то хорошо. Если вы не можете этого сделать, вам необходимо использовать установочный носитель.
Теперь, поскольку вы не можете войти в безопасный режим, вам нужно загрузить Windows 10 с помощью Установочный носитель Windows или же Диск восстановления и выберите Почини свой компьютер для входа в Устранение неполадок> Дополнительные параметры запуска.
Оказавшись здесь, вы можете использовать CMD для выполнения команд. Вы можете использовать DVD с Windows 10 или загрузочный USB-накопитель, или вы можете записать Windows 10 ISO на USB-накопитель с другого компьютера, а затем использовать его.
Как только у вас есть получил доступ к дополнительным параметрам, вы можете использовать несколько предложенных ниже вариантов для решения проблемы.
- Запустить восстановление при загрузке
- Запустить восстановление системы
- Запустите Центр обновления Windows
- Запустите проверку системных файлов с помощью CMD
- Изменить параметры запуска
- Сбросить BIOS
- Обновите BIOS.
3]Запустите Центр обновления Windows
На экране дополнительных параметров откройте командную строку и запустите обновления Windows из командной строки.
4]Запустите сканирование SFC и DISM.
На экране дополнительных параметров откройте командную строку и запустите средство проверки системных файлов. Это позволяет пользователям сканировать системные файлы Windows на наличие повреждений и восстанавливать поврежденные файлы.
5]Изменить настройки запуска
Щелкните Изменить параметры запуска и перезапустите, чтобы временно отключить эти два параметра:
- Отключить принудительную подпись драйверов
- Отключите ранний запуск защиты от вредоносных программ.
Как только проблема будет решена, не забудьте отменить внесенные изменения.
7]Сбросить BIOS
Если вы недавно внесли какие-либо изменения в BIOS, а затем начали сталкиваться с этой проблемой, возможно, это время, когда вы отмените изменение или сбросите настройки BIOS до значений по умолчанию. Чтобы открыть настройки BIOS, вам необходимо перезагрузить компьютер и продолжать нажимать F2 или же F9 (по данным производителя материнской платы). Оказавшись там, найдите соответствующую опцию и сбросьте BIOS до настроек по умолчанию.
6]Обновите BIOS
Если проблема все еще возникает, вы можете попробовать обновить BIOS в своей системе, создав загрузочный USB-накопитель.
Связанное чтение: ПК завис и не может выйти из безопасного режима.
Надеюсь, что-то здесь вам поможет.
Как работать с экшеном?
Сохранение профиля
После регистрации на ресурсе или после иных действий на сайте, выполненных внутри шаблона, Вы можете сохранить данные профиля для последующего использования в других проектах. В файле профиля (*.zpprofile) сохраняются все данные инстанса: куки, User Agent, данные о компьютере, сгенерированные для инстанса, имя, фамилия, логин, город и прочее.
Будьте аккуратны с галочкой “Сохранять переменные”. Если Вы сохранили профиль с этой опцией, то при его следующей загрузке значения выбранных переменных будут перезаписаны.
В целях корректного выполнения шаблона, сохраняйте только необходимые переменные. Однако, Вы всегда можете выбрать “Все” в выпадающем списке.
Загрузка профиля
Если у Вас есть ранее сохраненные профили, Вы можете загрузить их для использования в проекте.
Создать недостающие переменные — при включении данной настройки в Вашем проекте автоматически будут созданы и добавлены недостающие переменные, которые числятся в профиле. Это полезно, когда Вы хотите добавить в проект профиль, который был сохранен при работе другого.
Выводить ошибку при загрузке несовместимого профиля — если включена данная настройка, то при загрузке профилей, которые были созданы на движке браузера, отличном от , проект будет завершаться ошибкой (например Вы сейчас работаете в проекте, который использует движок Firefox 52, а загрузить пытаетесь профиль созданный на движке Chrome).
Данная настройка добавлена в ZennoPoster 7.2.1.0
Переназначить поля
Вы можете вручную редактировать составляющие профиля. Для некоторых данных Вы можете установить значение, которое Вам необходимо, а для других перегенерировать.
Для чего это нужно?
-
Установка своих UserAgent-ов;
-
Установка желаемых имен, фамилий, дат рождения и прочей информации “личности”;
-
Установка желаемого разрешения браузера;
-
Установка желаемых логинов/паролей/почты;
-
Любая другая возможная модернизация профиля под свои нужды.
В дальнейшей работе можно использовать данные из профиля в других действиях, например, в кубике Обработка текста. Для этого воспользуйтесь макросами из , например:
Вам достаточно написать фрагмент {-Profile. и ProjectMaker предложит Вам все возможные варианты выбора в виде выпадающего списка.
Обновить
Доступно в ZennoPoster, начиная с версии 7.3.1.0.
Данный экшен будет обновлять текущий профиль на похожий профиль с последней версией браузера.
Поиск производится по фильтру проекта и соответствию нового профиля следующим параметрам текущего профиля: тип браузера, ОС, платформа, язык и разрешение экрана.
Экшен не просто обновляет последнюю версию браузера, а целиком заменяет профиль на найденный (все параметры будут новые, кроме тех по которым производился поиск).
ZennoPoster может загрузить до 4000 профилей для поиска подходящего (больше грузить нет смысла т.к. сервер генерирует 4000 профилей в сутки), ProjectMaker — 400.
Сохранить профиль-папку
Доступно начиная с версии ZennoPoster 7.3.1.0.
В ZennoPoster 7.3.1.0 была добавлена профиль-папка, подробнее о ней Вы можете прочитать в статье Использование профиль-папки
С помощью данной функции Вы можете её сохранить.
Так же вместе с профиль-папкой можно сохранить текущий прокси проекта и\или переменные (все либо некоторые)
Сохранение профиль-папки — ресурсоёмкая операция и может сильно замедлить работу проекта, особенно при многопоточной работе. Не рекомендуется часто вызывать сохранение. Лучшие места для вызова — Хороший выход в проекте (Good End) и Плохой выход в проекте (Bad End)