Как в 1с откатить изменения в
(на философию потянуло) "откатить обновление", строго говоря, — нельзя. Как говорится — "нельзя дважды войти в одну реку".
И тут не только дело в изменение метаданных (это как раз то, что легко выявляется и так или иначе "откатывается"), а в том, что труднее всего выявить и устранить — изменение логики поведения конфигурации.
Если кто не понял, поясню на примере: новые документы, заполняемые "на основании" других документов могут отличаться содержимым "до того как" и "после того как". Выявить отличия теоретически можно, но вот с этим делать? Не перезаполнять же эти документы вновь в самом деле 🙁
Обновления для 1С 8.2 и 8.3
Программное обеспечение от компании «1С» является очень популярным как среди предпринимателей, так и среди государственных организаций. Программы используются для ведения бухгалтерии, управленческого учета и т.д. Для того чтобы грамотно вести учет, любая организация должна обладать актуальной информацией. Поэтому программы, которые разработаны специально для экономических нужд организации, не могут долгое время функционировать без обновления.
Если же по каким-либо причинам воспользоваться услугами профессионала нет возможности и обновления для 1С Вы будете устанавливать самостоятельно, необходимо ознакомиться с инструкцией, приведенной ниже.
Перед обновлением обязательно сделайте резервную копию базы данных.
Этапы установки обновлений
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания — попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Получите понятные самоучители по 1С бесплатно:
Первым делом необходимо получить файлы, которые нужны для обновления. Это можно сделать несколькими способами:
- приобрести диск информационно-технологического сопровождения у компаний-партнеров «1С». Вместе с диском предоставляется купон, дающий возможность на бесплатное получение таких дисков в течение полугода;
- скачать обновления для 1С из интернета. Но в данном случае необходимо иметь данные регистрации, чтобы войти на сайте ИТС. Поэтому здесь могут возникнуть определенные сложности.
Обратите внимание! Если конфигурация, установленная в Вашей компании, не является типовым продуктом, то есть в нее уже было совершено вмешательство программистов 1С, не пытайтесь обновить программное обеспечение самостоятельно! Такие варианты программ собственными силами обновлять НЕЛЬЗЯ! Это приведет к нестабильной работе системы и потере данных!
Детальная инструкция по установке обновлений
Прежде чем начинать обновление программного продукта, необходимо полностью скопировать базу компании. Даже если попытка обновить программу не увенчается успехом, старый вариант всегда будет готов к работе. Для этого необходимо следовать следующим указаниям:
Для непосредственного обновления программы необходимо открыть каталог, куда было сохранено обновление, и запустить файл setup.exe. Обновление будет установлено в каталог по умолчанию.
Здесь может возникнуть некоторая пауза, затем откроется окно доступных обновлений. Необходимо выбрать номер версии новой конфигурации и нажать кнопку «готово».
После того как процесс обновления для 1С будет окончен, необходимо зайти во вкладку «файл», которая находится в верхнем меню, и выбрать пункт «сохранить». Это также можно сделать с помощью клавиши F11 на клавиатуре. Откроется окошко «Реорганизация информации». Необходимо выбрать кнопку «принять». Таким образом, все изменения, которые были получены в процесс обновления программного обеспечения, будут надежно сохранены. После установки обновлений программа запускается в режиме 1С: Предприятие.
Как откатить обновление
Тема: Как прервать обновление
При запуске чего?
Вы ведь хотели, чтобы при перезагрузке компьютера не запускалось обновление.
Не пытайтесь открыть базу:
— либо удалите её;
— либо создайте новую рабочую папку;
— в последней разверните базу из бэкапа; бэкап должен остаться;
— откройте её, проверьте работоспособность;
— проведите ТИИ, создайте новый бэкап (лучше копию папки);
— и вот эту, проверенную, базу обновите в ручном режиме через конфигуратор.
Для сценарного и модульного тестирования, процесса разработки, создания видеоинструкций, сопровождения, первичной настройки конфигураций. В общем, для любых процессов, в которых используются эталонные или стартовые данные, к которым хотелось бы возвращаться (в случае возникших проблем, например) быстрее и проще, нежели с помощью резервной копии
Практически все описано в анонсе публикации, но еще чуть-чуть.
Вы разработчик. Пишите код, запускаете отладку, накликиваете за пользователя какие-то данные. Или даже за нескольких пользователей - в нескольких сессиях параллельно, если бизнес-процесс сложный. Или запускаете "накликанный" на эталонных данных сценарный тест. Ловите ошибку, идете в конфигуратор исправлять, чтобы повторить все заново.
Если к следующему циклу "накликивания" надо вернуть исходное состояние данных, то можно написать (лень!) и запускать обработку, которая восстановит данные, или восстанавливать каждый раз в базу резервную копию (каждый раз сохранять наработку в cf, восстанавливать копию, перезапускать конфигуратор, восстанавливать наработки. в общем - отпадает. а если тут еще и хранилище. уууу. ).
Или прицепляем данное расширение, настраиваем фиксацию и автоматическое восстановление данных и после каждого цикла просто перезапускаем отладку. Данные восстанавливаются самостоятельно.
Или вы - инженер сопровождения. У вас тестовая база с "исходными" данными и вы пытаетесь повторить ошибку, возникающую у пользователя. После короткого времени ошибка не повторена, а контекст данных "испорчен".
Переключаетесь в список истории изменения данных, нажимаете одну кнопку, ждете несколько секунд. Вуаля, контекст данных восстановлен, ищите ошибку заново.
С разработкой видеоинструкций отдельная боль. Собственно, идея оттуда и пришла. Коллега, который занимался созданием видеоинструкций, реализовывал свою версию подобной разработки. Но она не покрывала восстановление данных всех объектов ИБ.
При разработке сценарных тестов тоже должно пригодится!
Ограничения
Слукавил немного. Эта разработка тоже не покрывает восстановление данных ВСЕХ объектов ИБ. Не восстанавливается первоначальное состояние регистрации объектов в узлах планов обмена и хранилищ настроек.
Все же остальное фиксируется в истории и восстанавливается вполне успешно - объекты ссылочных типов, движения регистров любых типов, константы.
Понятно что разработка построена на событиях. Поэтому главное ограничение - версия платформы. Подписки на события в расширениях появились в 8.3.17. Поэтому использовать данную разработку на более старых версиях платформы не получится. А вот режим совместимости конфигурации (не забудьте синхронизировать режим расширения с ним) может быть достаточно "старым" - от 8.3.12.
Также при добавлении расширения в конфигурацию желательно снять флаги безопасного режима и защиты от опасных действий.
Механика
Из объектов, несущих данные, в расширении есть справочник для фиксации истории изменений и настроечный регистр сведений.
В справочнике фиксируются объекты в состоянии "до изменения". Прирост времени выполнения при включенной фиксации данных по моим замерам составляет до 10%. Для работы в тестовой базы для процессов сопровождения/разработки /настройки считаю показатель вполне приемлемым.
При восстановлении данных восстанавливаются только самые первые версии измененных объектов. То есть если документ (или регистр по определенному отбору) меняли десять раз, то в истории изменения зафиксируются все, но восстановится он только один раз - по самой первой фиксации. Это значительно сокращает время восстановления.
При восстановлении объекты имеют ОбменДанными.Загрузка = Истина. Объекты восстанавливаются в порядке, обратном порядку записи истории, хотя при восстановлении "среза первых" это необязательный атрибут. Документы при этом не проводятся, поскольку наборы записей регистров фиксируются и восстанавливаются отдельно.
Восстановление происходит в транзакции. После успешного восстановления история изменений очищается.
Можно восстановиться до определенной записи в истории, если сможете правильно определить эту самую нужную вам запись. Тогда история зачистится только до этой строки.
А еще можно поставить закладки в историю в нужные вам моменты (спасибо коллеге, подсказавшему идею в комментариях) и восстанавливаться до них.
Настройка
Она элементарна.
Можно включить тотальную фиксацию изменений (первая на скриншоте). Тогда фиксироваться будет все, в том числе изменения данных в фоновых заданиях. Именно такой вариант я и рекомендую.
При этом варианте можно дополнительно настроить автоматическую очистку данных при старте или заверешении работы системы.
Можно включить фиксацию изменений для отдельного пользователя (он "сам" должен это сделать) и для текущей сессии.
Такие варианты могут использоваться с дополнительными оговорками, поскольку не гарантируется целостность восстанавливаемых данных из-за того, что в истории не фиксируются действия других пользователей.
Но, возможно, кому-то это будет полезно.
При записи истории изменений может достаточно быстро расти размер базы. Но я не рекомендую использовать запись истории без периодического восстановления данных или очистки истории (справочник легко чистится непосредственным удалением элементов) на продолжительном отрезке времени.
В любом случае, это расширение не предназначено для работы в "боевой" базе. Это инструмент исключительно для IT-специалистов и использования исключительно в тестовых базах!
Заключение
Разработка тестировалась на платформе 8.3.18.1289 на базах ЗУП (3.1.16.134) и ERP (2.4.12.64 и 2.5.6.98).
Разработкой активно пользуются коллеги, занимающиеся видеоинструкциями и сценарными тестами.
Жду обратной связи, всем спасибо за внимание!
Версия 1.0.0.2 (от 21.06.2021)
Изменения в версии:
Версия 1.0.0.3 (от 22.07.2021)
Изменения в версии:
Специальные предложения
- заменил слово, которое не могу написать (из заголовка), на Ролбэк - т.к. движок Инфостарта его заменял на * (смотрю - сейчас и в заголовке стала "*")
Думал, тут что-то хитрое придумано, но
Хотя, всё-равно, это хорошая штука для тестовых баз.
И для демо-серверов
Можно включить фиксацию изменений для отдельного пользователя (он "сам" должен это сделать) и для текущей сессии.
Такие варианты могут использоваться с дополнительными оговорками, поскольку не гарантируется целостность восстанавливаемых данных из-за того, что в истории не фиксируются действия других пользователей.
По хорошему, тут как раз можно было бы и заморочиться. Обычно это нужно как раз в рабочей базе и как раз по одному пользователю-тестировщику (+ все остальные). Тогда можно было:
1. Зафиксировать версию объекта до изменения тестировщиком
2. Для остальных пользователей при чтении объекта читать зафиксированную версию (это самое сложное)
3. Фиксировать отдельно версию после изменений других пользователей.
Или даже проще
1. Фиксировать отдельно версию тестировщика (оставляя оригинальные данные - вернее сразу восстанавливая их)
2. При чтении данных тестировщиком - читать зафиксированную отдельно версию
Организовать чтение зафиксированную версии из отдельного источника, пожалуй, самое сложное - причём именно поймать момент чтения и подменить одни данные на другие.
Можно восстановиться до определённой записи в истории, если сможете правильно определить эту самую нужную вам запись. Тогда история зачистится только до этой строки.
На эту тему рекомендую сделать простую доработку - явно назначаемые временнЫе маркеры (с комментариями) - которыми можно было бы фиксировать (интерактивно или програмно) временные отсечки - и потом просто восстанавливаться на состояние перед этим маркером.
А вот это можете пояснить?
Поэтому главное ограничение - версия платформы. Подписки на события в расширениях появились в 8.3.17. Поэтому использовать расширения на более старых версиях платформы не получится. А вот режим совместимости может быть достаточно "старым"
И вот это тоже, хотелось бы пояснить подробнее
(1) Спасибо за развернутый комментарий и хорошие вопросы. Талантом писателя, в том числе и технического, к сожалению, не наделен)
Самый простой способ "откатить" изменение данных - выполнять изменения в транзакции, которую потом не фиксировать. Здесь как раз нет никаких транзакций (кроме платформенных и прописанных в коде конфигурации, разумеется) именно при изменениях данных. А восстанавливаются они действительно в транзакции, дабы сохранить целостность данных и истории изменения в случае возникновения ошибки при восстановлении.
Накликивать данные можно часами, восстановление в транзакции будет занимать десятки секунд или минуты.
Ну, это чисто мое мнение. использовать-то можно. на свой страх и риск. Но я бы не стал :-)
Про фиксацию данных и их подмену для разных пользователей. Тема интересна чисто с технической точки зрения. Но тут вопрос скорее к овчинке и выделке.
В тех эко-системах серверов и ПО, где работаю я, восстановление довольно свежего "боевого" бэкапа в тестовую базу занимает совсем непродолжительное время и такие доработки и сопутствующие риски неактуальности данных в боевой базе - вещи нецелесообразные.
Но код открыт полностью - все в Ваших руках)
Про "временные маркеры" и комментарии к ним. Очень хорошая идея, постараюсь реализовать в ближайшее время. Спасибо!
А вот это можете пояснить?
Поэтому главное ограничение - версия платформы. Подписки на события в расширениях появились в 8.3.17. Поэтому использовать расширения на более старых версиях платформы не получится. А вот режим совместимости может быть достаточно "старым"
Тут очепятка, сори (если я правильно Вас понял). Сейчас отредактирую: "Поэтому использовать расширения" заменю на "Поэтому использовать данную разработку"
И вот это тоже, хотелось бы пояснить подробнее
Объекты восстанавливаются в порядке, обратном порядку записи
Тут как раз все просто: справочник истории с числовым кодом и с автонумерацией. В процессе восстановления данных определяется набор восстанавливаемых элементов и восстанавливаются они по отсортированному по этому коду в обратном порядке списку.
(2)Вопросы был про вот эту фразу - видимо я что-то не знаю о режимах совместимости и о требованиях к ним в расширениях
Тут как раз все просто: справочник истории с числовым кодом и с автонумерацией. В процессе восстановления данных определяется набор восстанавливаемых элементов и восстанавливаются они по отсортированному по этому коду в обратном порядке списку.
Нее. я не понимаю. Допустим восстановление идёт на некую строку (как Вы пишите) - по факту - на некоторый момент времени - тут сразу на ум приходит периодический регистр сведений - но у Вас справочник - тогда нужен просто срез последних данных (ключа данных - и это тот ещё вопрос - т.к. для ссылочных типов всё просто - это их ссылка, а для регистров (особенно неподчинённых и не периодических) всё куда сложнее); да и как Вы храните версию - целиком - или только изменённую часть - если только изменённую - то боле-менее понятно что Вы делаете) - получили срез - и просто перезаписали объекты из версии среза - если они хранятся целиком - никакого обхода по версиям не нужно делать.
А, вот, если Вы храните данные по изменённым полям (например у документа изменили дату - то сохраняете в своё хранилище - по ключу ссылке - имя реквизита "Дата" и его прошлое значение), то на срезе не будет плоской таблицы текущих версий - нужно сделать обход в глубину (в прошлое) и восстановить каждый изменённый реквизит каждого объекта - причём один раз (только последний) - а это уже куда сложнее и дольше.
А с регистрами - так вообще можно только полные версии хранить - всего набора. или нужно целиком хранить ключ - измерения - и далее имя изменившегося ресурса/реквизита и значения - но обычно ключи тут как раз очень длинные - и проще весь набор хранить (в идеалае запаковав по методу колоночных баз данных).
Я это всё говорю не просто так - так как имею опыт разработки системы версионирования данных на 1С - а Ваше решение по сути таковым и является
Поначалу я настройку сделал на константах. При тестировании очередной базой, к которой я "прилепил" расширение, была ERP 2.4. У нее режим совместимости был 8.3.14 и он не пропускал констант в расширении. Они появились в появились в 8.3.16. Я переделал настройки на регистр сведений в итоге.
Это и явилось причиной появления данной фразы в публикации.
Вы сейчас в комментариях вытягиваете все, что я недосказал в публикации)). По сути, просите пересказать все внутренности разработки. Ну что ж, код открыт, секрета никакого, извольте, коли не хотите скачивать, тратить мани и время на изучение чужого кода. Искренний технический интерес хороших специалистов мною очень уважаем и льстит мне не меньше лайков :-)
Действительно, "обратный" порядок восстановления данных не играет никакой роли. Сделал так "на всякий случай". Даже прогрессбар работает в форме восстановления от 100% к нулю :-) Ведь о т к а т же :-) (и правда ИС "запикивает" это слово!)
Главное - локализовать "первичные" версии объектов и наборов данных, которые и будем восстанавливать.
И тут действительно есть идентификатор данных, его поле видно на одном из скринов. И в случае со ссылочным типом данных там действительно "сидит" уникальный идентификатор из ссылки.
А вот в случае регистров (на скрине как раз наборы записей различных регистров, в историю запакованные) там находится. назовем это неким "хэшем" отбора регистра, созданным на основе сериализованного в JSON массива, содержащего все элементы отбора.
Таким образом имя метаданных (разумеется полное, вида "РегистрСведений.СостоянияСотрудников") и данный "хэш" дадут нам уникальный ключ данных.
Сами же данные хранятся в виде JSON-представления объекта (всего набора записей, например), будь то ссылочный тип, или набор данных регистра, или значение константы. Я его даже не упаковываю в хранилище со сжатием, пытаясь таким образом не повлиять на скорость выполнения основных операций.
Именно поэтому я говорю, что длительное накопление истории приведет к увеличению размера базы.
(4)Ничего не вытягиваю, просто пытался на скорую руку понять как глубоко Вы копали. Оказалось не глубоко, и это всё как раз обусловлено теми сценариями, которые Вы предлагаете к использованию (и тем как использовали на практике). Они вполне себе имею право на жизнь. для данной разработки.
То что версия объекта записывается целиком как раз может сильно влиять и на производительность записи и на производительность восстановления (но да - так проще, хотя и не компактно) когда они очень большие (а это не редкость, скажем, для документов в оптовой и и в розничной торговле, или при бюджетировании и много где ещё), а модифицируют в них обычно как раз "помелчи". Но для тестовых баз и так сойдёт.
Хеши отбора регистра - вещь правильная - но ни один алгоритм хеширования не гарантирует уникальности хеша. Поэтому все хеш-коллекции используют хеш-только как первый индекс, сравнивая потом полные ключи. Но для тестовых баз, наверное, и так сойдёт.
Обратный порядок - замедляет восстановления - Вам нужен только срез до выбранного момента
Обратный отсчёт индикатора - идея плохая - она намекает об отмене процесса (который до этого шёл в прямом направлении) - а у Вас идёт процесс отмены изменений - это вполне себе нормальный процесс - лучше измените на прямое направление - не смущайте народ - вот не применится транзакция этого процесса (а это легко может произойти, скажем, из-за блокировок) - вот тогда можете визуализировать декриментирование индикатора прогресса.
Сжимать JSON можно отдельно - в фоновом задании - это не будет шибко тормозить основную работу - вообще в фоне можно много оптимизации сделать
Восстанавливать тоже можно в фоне. рисуя красивый прогресс и его обратку на клиенте без блокировки сессии - если транзакция не будет принята - пока будет идти фоновая отмена этой транзакции (хотя момент завершения отмены в СУБД не поймать)
Это всё равно не понимаю. Так какой режим совместимости конфигурации нужен, чтобы поставить на неё данное расширение?
В информационной базе 1С:Предприятия 8 конфигурация, редактируемая разработчиком, сохраняется без выполнения реструктуризации. Ее сохранение не оказывает влияние на работающих пользователей. Для работы пользователей в режиме "1С:Предприятие" используется конфигурация базы данных, также хранящаяся в информационной базе. Чтобы привести конфигурацию базы данных в соответствие с редактируемой конфигурацией, нужно выполнить обновление конфигурации базы данных (меню " Конфигурация – Обновить конфигурацию базы данных "). При этом выполняются дополнительные проверки конфигурации, реструктуризация базы данных (если изменилась структура данных) и замена конфигурации базы данных на редактируемую конфигурацию.
В меню " Конфигурация – Конфигурация базы данных " можно выполнить сравнение редактируемой конфигурации с конфигурацией базы данных и при необходимости вернуться к конфигурации базы данных.
Использование команды " Конфигурация – Обновить конфигурацию базы данных " (клавиша F7) позволяет сохранять редактируемую конфигурацию сразу с обновлением конфигурации базы данных.
Использование команды " Отладка – Начать отладку" (клавиша F5) позволяет начинать отладку с сохранением редактируемой конфигурации и обновлением конфигурации базы данных.
Для сохранения редактируемой конфигурации без обновления конфигурации базы данных следует использовать команду " Сохранить конфигурацию " или " Сохранить " (клавиша Ctrl+S).
Как включить возможность редактирование объектов в 1С? Как именно происходит изменение конфигурации в 1С? Рассказываем подробнее и представляем вашему вниманию пошаговую инструкцию для большей наглядности!
Включение возможности редактирования объектов
Действительно, для типовых конфигураций 1С возможность редактирования объектов отключена.
Для того, чтобы включить данную возможность необходимо сделать несколько действий.
Запускаем 1С в режиме конфигуратор.
Выбираем пункт «Поддержка» вменю «Конфигурация». Подпункт «Настройки поддержки».
Если нужно отредактировать конкретный объект конфигурации, то нет необходимости менять правило для всей конфигурации. Найдите в списке интересующий объект, кликните по нему правой кнопкой мыши и выберите «Установить правило поддержки»
В открывшемся окне выбираем «Объект поставщика редактируется с сохранением поддержки». В случае если необходимо отредактировать подчинённые объекты, устанавливаем галочку для опции «Установить для подчинённых объектов»
Если необходимо включить возможность редактирования для всех объектов конфигурации, то в правом верхнем углу открывшегося окна нажимаем кнопку «Включить возможность изменения»
В появившемся диалоговом окне отвечаем «Да»
Все объекты конфигурации делятся на два вида: «Объекты с правилом «Изменения разрешены» и «Объекты с правилом «Изменения не рекомендуются». Для каждого вида необходимо выбрать настройку.
По умолчанию значения установлены «Объект поставщика не редактируется». Рекомендуется установить «Объект поставщика редактируется с сохранением поддержки» для объектов с правилом «Изменения разрешены» и «Объект поставщика не редактируется» для объектов с правилом «Изменения не рекомендуются».
Необходимо обновить конфигурацию базы данных. Это можно сделать с помощью кнопки на панели или нажав F7
Для редактирования конкретного объекта конфигурации нужно в «Настройка поддержки» установить значение «Редактируется с сохранением поддержки. Если необходимо запретить редактирование конкретного объекта конфигурации, то установите свойство «Не редактируется».
Возвращение конфигурации на поддержку
В первую очередь перед проведением каких-либо операций необходимо сделать резервную копию вашей базы.
В качестве демонстрации вернём поддержку базе из примера выше.
1С одновременно сохраняет три конфигурации:
- Типовая конфигурация, ещё её называют конфигурацией от поставщика
- Конфигурация нашей информационной базы
- Основная конфигурация
При запуске обновления конфигурации выполняется следующая последовательность действий:
- Обновление типовой конфигурации
- Типовая конфигурация заменяет конфигурацию вашей базы, но только в случае «Объекты поставщика не редактируются»
- Запуск «Режима сравнения и объединения», в случае если ваша база «Объекты поставщика редактируется с сохранением поддержки»
- Обновление конфигурации нашей информационной базы
В первую очередь необходимо узнать номер текущего релиза нашей конфигурации. Запускаем 1С, в меню «Справка» выбираем пункт «О программе».
На рисунке выделена строка, содержащая номер релиза
Запускам 1С в режиме конфигуратор. Выбираем пункт «Поддержка» вменю «Конфигурация». Подпункт «Настройки поддержки».
Смотрим номер текущего релиза конфигурации поставщика.
В нашем примере релизы совпадают. Нажимаем кнопку «Сохранить в файл».
Выбираем пункт «Загрузить конфигурацию из файлов» вменю «Конфигурация».
Будет произведено замещение нашей текущей конфигурации, конфигурацией содержащейся в файле.
Производим обновление конфигурации
Восстановлена «Полная поддержка».
Как можно оптимизировать работу с 1С?
В работе с 1С постоянно возникает множество вопросов — от решения проблем до обновления или потребности в доработке программы. Не у каждой компании есть соответствующие специалисты, способные помочь в перечисленных ситуациях, а если и есть, то не всегда бывает целесообразно отвлекать их на мелкие задачи.
Чтобы обновления происходили без проблем, а на все вопросы вы могли получать ответы, приглашаем обращаться за сопровождением 1С к профессионалам, в компанию «ПРОГРАММЫ 93».
Почему нас выбирают?
ООО «ПРОГРАММЫ 93» — это компания с большим штатом сотрудников, в который входят не только специалисты 1С, но и бухгалтеры, юристы и другие эксперты смежных областей.
В результате вы получаете услуги от опытных компетентных специалистов, не зависите от одного человека и не отвлекаете штатных специалистов от стратегических задач.
Мы можем предложить вам:
- доработку программы под ваши нужды;
- поддержку продуктов 1С;
- интеграцию программы с сайтом;
- внедрение других продуктов 1С;
- сопровождение бухгалтерского и налогового учета.
Позвоните по номеру телефона, указанному на сайте или заполните форму обратной связи, чтобы мы могли ответить на все возникающие вопросы и рассказать о том, как начать сотрудничество!
Для этого нужно внести изменения в Общий модуль ОбщегоНазначенияБП
Нужно внести изменение в функцию ПредлагатьОбновитьВерсиюПрограммы модуля Общий модуль ОбщегоНазначенияБП
Пример исправленного кода модуля:
Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
И ТекущаяДатаСеанса() > ДобавитьМесяц(ДатаТекущейВерсии, 2);
НадоПредлагать = Ложь; // Отключение уведомления "Рекомендуется обновить версию конфигурации"
В оригинальный код добавлена строка:
НадоПредлагать = Ложь; // Отключение уведомления "Рекомендуется обновить версию конфигурации"
Наиболее правильным вариантом будет создать расширение для объекта Общий модуль.ОбщегоНазначенияБП и создать в нём собственный вариант функции ПредлагатьОбновитьВерсиюПрограммы
Вот готовый код для модуля расширения:
// Отключение уведомления "Рекомендуется обновить версию конфигурации"
Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
И ТекущаяДатаСеанса() > ДобавитьМесяц(ДатаТекущейВерсии, 2);
НадоПредлагать = Ложь; // Отключение уведомления "Рекомендуется обновить версию конфигурации"
После подключения расширения нужно отключить для него Безопасный режим и Защита от опасных действий
Каждый хочет держать под контролем свою жизнь, знать ответы на все вопросы. Так же дела обстоят в части информационных систем. Но здесь все значительно сложнее, так как ваша жизнь зависит от 3-10 человек. А в информационной системе зачастую работают 200 и 1000 сотрудников. И именно в таком потоке информации жизненно важно знать, что изменилось по сути и кто конкретно осуществил эти изменения.
Эту задачу давно ставили разработчикам 1C и вот, мы обрадованы появлением более или менее работающего механизма. Однако хранение версий в самой базе быстро приводит к ее росту. Устранению этого недостатка посвящена эта статья.
"
Версионирование 1С.
Механизм версионирования объектов используется для аудита изменений объектов информационной базы в разрезе времени и позволяет ответить на вопросы КТО, КОГДА и ЧТО изменил. В качестве версионируемых объектов могут выступать справочники и документы. Настройка механизма выполняется в форме настройки программы и доступна пользователю с ролью «Полные права». Настройка состоит из активизации механизма и настройки режима сбора версий документов и справочников.
Однако нет худа без добра. Со временем количество измененных записей по объему сопоставимо с основными данными, а потом попросту уходит в «отрыв» и превышает все разумные пределы. Что начинает существенно сказываться на объеме быстродействия системы.
Для устранения этого недостатка логично изымать эти данные и хранить их отдельно. Это тем более логично, когда информационных систем, которые необходимо подвергать аудиту, более чем одна.
Для решения этой задачи наша команда разработала программный продукт обладающий следующим функционалом:
1.Сбор данных об измененных объектах в фоновом режиме согласно расписанию. В рабочей базе остается только последнее изменение, количество «последних» регулируется. Так можно устранить «распухание» базы и одновременно можно в случае чего за секунду вернуть испорченный документ.
2.Формирование отчетов в части аудита (кто, что, когда изменил). Очень нравится «Безопасникам».
3.Все что когда либо менялось в системах.И все версии измененных объектов в одном месте в отдельной базе.Система собирает как версии так и журналы регистрации из указанных систем.
4. Но когда надо провести аудит изменений имеем полную картину.
В общем полезная система получилась. С одной стороны устраняет неопределенность изменений, а с другой дисциплинирует пользователей так как нет возможности свалить вину на «последнего».
Как отменить последнее действие в 1с?
Сочетание клавиш | Описание |
---|---|
Alt + Backspace Ctrl + Z | Отменить последнее действие |
Alt + Shift + Backspace, Ctrl + Y | Вернуть последнее действие |
Как отменить все действия на компьютере за день?
Речь идет о сочетании клавиш Ctrl+Z. С помощью данной комбинации можно легко и просто отменить последнюю выполненную операцию. Отмена последнего действия (комбинация Ctrl+Z) может быть очень полезной во многих случаях.
Как отменить последние действия на компьютере?
Отмена последнего действия
Как отменить проведение документа в 1с?
Как снять задачу в 1с8?
Рекомендуется сделать следующее:
- попытаться закрыть программу, нажав крестик или комбинацию Alt+F4;
- вызывать диспетчер задач через контекстное меню (правая кнопка на рабочем столе) или комбинацией Ctrl+Shift+Esc;
- найти зависший процесс и завершить его принудительно.
Как в 1с вернуться на шаг назад?
Вы можете отменить последнее действие, выбрав в меню изображения Правка → Отменить, но эта операция применяется так часто, что стоит запомнить комбинацию клавиш Ctrl+Z.
Как в 1с настроить горячие клавиши?
Как восстановить положение окна в 1с?
Для устранения неполадок такого рода, необходимо нажать правой кнопкой мыши на документе внизу рабочей области, в контекстном меню выбрать «Восстановить положение окна» или Alt+Shift+R.
Как вернуть отмененное действие?
Как отменить отмененное
- Нажмите комбинацию клавиш .
- Выполните команду Правка>Вернуть ввод.
- Щелкните на кнопке Вернуть панели инструментов (если она доступна).
Как узнать о последних действиях на компьютере?
Чтобы просмотреть записи, потребуется осуществить следующие действия:
- Откройте «Панель управления» и зайдите в «Администрирование».
- Здесь выберите иконку «Просмотр событий».
- В открывшемся окне перейдите в пункт «Журналы Windows».
- Далее выберите тип журнала и просмотрите нужные вам сведения.
Что будет если прервать возвращение компьютера в исходное состояние?
Когда вы используете функцию возврата компьютера в исходное состояние, Windows сбрасывает свои настройки о состояние к тому, которое установлено сразу после установки операционной системы. Если компьютер покупался с уже установленной Windows 10, то он будет сброшен к тому состоянию которое было во время покупки.
Как отменить последние изменения в Windows 10?
Как выполнить откат системы Windows 10 без точек восстановления
- Нажмите правой клавишей мыши по меню «Пуск» и выберите пункт «Параметры».
- Затем перейдите к графе «Обновление и безопасность».
- В левой части окна нажмите на «Восстановление».
- И затем на кнопку «Начать».
Как восстановить файлы после Ctrl Z?
Как восстановить файлы, удаленные при нажатии клавиш Ctrl+Z в Windows 10/8/7?
Использование сочетаний клавиш, список зарезервированных сочетаний
Область применения: управляемое приложение.
Для часто выполняемых или общеупотребимых действий рекомендуется назначать сочетания клавиш. Ниже приведены списки зарезервированных сочетаний в прикладных решениях и в платформе 1С:Предприятие .
Для действий, приведенных в таблицах, назначение указанных сочетаний клавиш обязательно. Использование зарезервированных сочетаний в иных целях запрещается.
Горячие клавиши в 1с
Глобальные действия — это действия, которые вы можете выполнять в любом состоянии программы. При этом не важно, что на данный момент открыто в "1С:Предприятии". Главное, чтобы приложение не было занято выполнением какой-либо задачи.
Глобальные действия — это действия, которые можно вызывать в любом месте запущенной платформы "1С:Предприятие 8". Независимо от того, что именно происходит в запущенной конфигурации, смысл глобальных действий не меняется (например, нажатие Ctrl+N всегда будет вызывать диалог создания нового документа).
"Горячие" клавиши для глобальных действий
Действие
Сочетания клавиш
Как работает программа
Создать новый документ
Открывает окно, в котором будет предложено выбрать тип создаваемого нового документа в различных форматах — например, в текстовом, табличном или HTML
Открыть существующий документ
Открывает стандартное диалоговое окно "Открыть", доступное через меню "Файл/Открыть…"
Активизация поля поиска в командной панели
Устанавливает курсор в это поле
Alt + Enter
Ctrl + E
В зависимости от того, на что установлен курсор, открывает соответствующую палитру свойств этого объекта или элемента. Полезно при работе с таблицами, текстом, HTML и т. п.
Вызвать содержание справки
Вызывает содержание справки
Вызвать индекс справки
Вызывает индекс справки
"Горячие" клавиши: общие действия
Общие действия — действия, которые имеют один и тот же смысл в различных объектах конфигурации, но поведение платформы "1С:Предприятие 8" меняется в зависимости от того где именно вы используете то или иное общее действие. Например, нажатие на клавишу "Del", помечает на удаление текущий элемент справочника, если вы находитесь в окне списка элементов справочника. Или удаляет содержимое текущей ячейки табличного документа, если вы его редактируете.
"Горячие" клавиши для общих действий
Действие
Сочетания клавиш
Как работает программа
Удаляет элемент под курсором (текущий элемент) или выделенную группу элементов
Позволяет добавить новый элемент
Сохранить активный документ
Сохраняет активный документ
Печать активного документа
Вызывает диалог печати для активного документа
Печать на текущий принтер
Инициирует непосредственную печать активного документа на принтер, назначенный в системе по умолчанию (без открытия диалога печати)
Копировать в буфер обмена
Ctrl + C
Ctrl + Ins
Копирует необходимый элемент или выделенную группу элементов в буфер обмена ОС Windows
Вырезать в буфер обмена
Ctrl + X
Shift + Del
Вырезает необходимый элемент или выделенную группу элементов в буфер обмена ОС Windows. Отличается от копирования тем, что копируемый элемент или группа после попадания в буфер удаляется
Вставить из буфера обмена
Ctrl + V
Shift + Ins
Вставляет в место, отмеченное курсором находящиеся данные из буфера обмена ОС Windows
Добавить к буферу обмена как число
Используется для числовых значений
Добавить к буферу обмена
Используется для числовых значений. Операция сложения с данными в буфере обмена
Вычесть из буфера обмена
Используется для числовых значений. Операция вычитания с данными в буфере обмена
Выделяет все доступные элементы в активном документе
Отменить последнее действие
Ctrl + Z
Alt + BackSpace
Отменяет последнее совершенное действие
Вернуть отмененное действие
Ctrl + Y
Shift + Alt + BackSpace
Позволяет отменить "Ctrl + Z", иными словами — вернуть то, что вы сделали до нажатия отмены последнего совершенного действия
Открывает диалог настройки параметров поиска в активном объекте конфигурации и выполнения этого поиска
Находит следующий элемент, соответствующий указанным в настройках поиска параметрам
Найти следующий выделенный
Находит следующий элемент, соответствующий тому, который вы выделили (например, на котором установлен курсор)
Находит предыдущий элемент, соответствующий указанным в настройках поиска параметрам
Найти предыдущий выделенный
Ctrl + Shift + F3
Находит предыдущий элемент, соответствующий тому, который вы выделили
Открывает диалог поиска и замены значений (там, где это разрешено)
Свернуть (узел дерева, группу табличного документа, группировку модуля)
Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"
Выделяет все доступные элементы в активном документе
Отменить последнее действие
Ctrl + Z
Alt + BackSpace
Отменяет последнее совершенное действие
Вернуть отмененное действие
Ctrl + Y
Shift + Alt + BackSpace
Позволяет отменить "Ctrl + Z", иными словами — вернуть то, что вы сделали до нажатия отмены последнего совершенного действия
Открывает диалог настройки параметров поиска в активном объекте конфигурации и выполнения этого поиска
Находит следующий элемент, соответствующий указанным в настройках поиска параметрам
Найти следующий выделенный
Находит следующий элемент, соответствующий тому, который вы выделили (например, на котором установлен курсор)
Находит предыдущий элемент, соответствующий указанным в настройках поиска параметрам
Найти предыдущий выделенный
Ctrl + Shift + F3
Находит предыдущий элемент, соответствующий тому, который вы выделили
Открывает диалог поиска и замены значений (там, где это разрешено)
Свернуть (узел дерева, группу табличного документа, группировку модуля)
Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"
Свернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные
Свернуть (все узлы дерева, группы табличного документа, группировки модуля)
Ctrl + Shift + Num + (-)
Развернуть (узел дерева, группу табличного документа, группировку модуля)
Развернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные
Развернуть (все узлы дерева, группы табличного документа, группировки модуля)
Ctrl + Shift + Num + (+)
Ctrl + Page Down
Ctrl + Alt + F
Быстрое листание активного документа
Ctrl + Page Up
Ctrl + Alt + B
Используется там, где поддерживается и возможно форматирование текста
Переход к предыдущей web-странице/главе справки
Используется в HTML-документах
Переход к следующей web-странице/главе справки
Прервать исполнение отчета системы компоновки данных
"Горячие" клавиши: управление окнами
В этом разделе объединены общие для всех окон и форм платформы "1С:Предиприятие" "горячие" клавиши.
"Горячие" клавиши для управления окнами
Действие
Сочетания клавиш
Как работает программа
Закрыть активное свободное окно, модальный диалог или приложение
Этой комбинацией можно быстро завершить работу всей конфигурации на платформе "1С:Предприятие", поэтому пользуйтесь ей осторожно
Закрыть активное обычное окно
Закрывает текущее обычное окно
Закрыть активное окно
Закрывает текущее активное окно
Активизировать следующее обычное окно
Ctrl + Tab
Ctrl + F6
Позволяет активизировать следующее окно среди открытых в рамках конфигурации. Нажатие в цикле с удерживанием клавиши Ctrl позволяет листать отрытые окна "вперед"
Активизировать предыдущее обычное окно
Ctrl + Shift + Tab
Ctrl + Shift + F6
Позволяет активизировать предыдущее окно среди открытых в рамках конфигурации. Нажатие в цикле с удерживанием клавиши Ctrl позволяет листать отрытые окна "назад"
Активизировать следующую секцию окна
Активирует следующую секцию текущего окна
Активизировать предыдущую секцию окна
Активирует предыдущую секцию текущего окна
Вызвать системное меню приложения или модального диалога
Позволяет увидеть системное меню операций (свернуть, переместить, закрыть и т. п.) над окном программы или открытого модального диалога
Вызвать системное меню окна (кроме модальных диалогов)
Alt + Hyphen + (-)
Alt + Num + (-)
Позволяет увидеть системное меню операций (свернуть, переместить, закрыть и т. п.) над активным окном
Вызвать главное меню
Активирует главную панель с кнопками текущего окна. Тем самым вы можете выбирать действия без участия мыши
Вызвать контекстное меню
Отображает контекстное меню над текущим активным элементом. Аналогично нажатию правой кнопки мыши на нем
Вернуть активность обычному окну
Возвращает активность обычному окну после работы с контекстным меню. Внимание! В любом другом случае, Esc инициирует закрытие активного окна
"Горячие" клавиши: управление формами
Здесь собраны "горячие" клавиши, упрощающие и ускоряющие работу с различными формами, которые созданы в конфигурациях, написанных на платформе "1С:Предприятие".
"Горячие" клавиши для управления формами
Действие
Сочетания клавиш
Как работает программа
Перейти на следующий элемент управления/вызов кнопки по умолчанию
Переход между элементами управления на форме "вперед" (см. Tab)
Вызов кнопки по умолчанию
Как правило, у различных форм назначена кнопка по умолчанию (она отличается от других — например, выделена жирным). Использование этой комбинации клавиш позволяет из любого места открытой формы активировать кнопку по умолчанию
Перейти на следующий элемент управления
Переход между элементами управления на форме "вперед"
Перейти на предыдущий элемент управления
Переход между элементами управления на форме "назад"
Активизирует командную панель, связанную с активным элементом управления/формой
Активирует главную панель с кнопками текущей формы. Тем самым вы можете выбирать действия без участия мыши
Перемещение по элементам управления, объединенным в одну группу
Используя клавиши-курсоры можно быстро перемещаться между сгруппированными элементами управления
Закрывает окно текущей формы
Восстановить положение окна
Если сбились какие-то параметры окна формы, эта комбинация позволяет вернуть все назад
"Горячие" клавиши: работа со списком и деревом
"Горячие" клавиши этого раздела помогут эффективно работать без использования мыши в многочисленных списках и деревьях, которые активно используются в различных объектах конфигураций на платформе "1С:Предприятие 8".
"Горячие" клавиши для работы со списком и деревом
Действие
Сочетания клавиш
Как работает программа
Открывает для изменения элемент, на который установлен курсор. Клавиша аналогична действию "Изменить" на стандартной панели кнопок формы
Ctrl + Shift + R
F5
Обновляет данные в списке или дереве. Особенно актуально для динамических списков (например, список документов), когда для них не включено автообновление
Создает новый элемент списка, используя в качестве шаблона текущий элемент. Аналогично кнопке "Добавить копированием"
Создает новую группу. Аналогично кнопке "Добавить группу"
Непосредственное удаление текущего элемента. Внимание! Используйте эту комбинацию с большой осторожностью в динамических списках, так как отменить удаление нельзя
Перемещение строки вверх
Ctrl + Shift + Up
В списках, где разрешено изменение порядка строк, позволяет передвинуть текущую строку вверх. Аналогично кнопке "Переместить вверх"
Перемещение строки вниз
Ctrl + Shift + Down
В списках, где разрешено изменение порядка строк, позволяет передвинуть текущую строку вниз. Аналогично кнопке "Переместить вниз"
Перенести элемент в другую группу
Ctrl + Shift + M
Ctrl + F5
Позволяет быстро переместить текущий элемент (например, справочника) в другую группу
Перейти на уровень вниз с одновременным раскрытием группы
Переходит внутрь папки, на которой был установлен курсор
Перейти на уровень вверх (к "родителю")
Выходит наверх из папки, в которой вы находились
Завершает с сохранением изменений редактирование элемента списка
Раскрыть узел дерева
Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"
Закрыть узел дерева
Раскрыть все узлы дерева
Инвертирует значение флажка текущего элемента (включает или отключает его)
"Горячие" клавиши: поле ввода
Поле ввода — активно используемый элемент управления во множестве мест форм конфигураций. "Горячие" клавиши для поля ввода позволяют быстро выполнить часто используемые действия над ним. Особенно полезно использовать эти клавиши там, где разработчик конфигурации не вывел нужные вам кнопки управления полем ввода.
"Горячие" клавиши для поля ввода
Действие
Сочетания клавиш
Как работает программа
Переключить режим вставки/замены
Аналогично поведению при редактировании обычного текста, позволяет либо добавлять новые символы при вводе к старым, либо затирать старые новыми
Выбор соответствующего объекта, связанного с полем ввода (например, выбор нужного документа из списка). Аналогично кнопке поля ввода "Выбор"
Ctrl + Shift + F4
Открытие формы выбранного объекта в текущем поле ввода. Аналогично нажатию кнопки поля ввода "Открыть"
Очистить поле ввода от текущего в нем значения
Удалить символ слева от курсора
Работа с набранным текстом в поле ввода
Удалить символ справа от курсора
Удалить слово слева от курсора
Удалить слово справа от курсора
Перейти в начало строки
Перейти в конец строки
Нажатие указателем мыши кнопки "Вверх" для кнопки регулирования
Использование регулировки, если это разрешено в поле ввода. Например, изменение дат, счетчиков и т. п. Аналогично нажатию на кнопку "вверх" регулятора поля ввода
Нажатие указателем мыши кнопки "Вниз" для кнопки регулирования
Использование регулировки, если это разрешено в поле ввода. Например, изменение дат, счетчиков и т. п. Аналогично нажатию на кнопку "вниз" регулятора поля ввода
"Горячие" клавиши: поле картинки
Поле картинки — это стандартный элемент платформы "1С:Предприятие 8" для отображения графических изображений. "Горячие" клавиши помогут, например, комфортно просмотреть изображение, расположенное в поле картинки.
Читайте также: