Нестандартные подсистемы: Живая вода

11.10.18

Задачи пользователя - Поиск данных

В БСП есть все, чтобы справиться с проблемой «Битых ссылок», но почему-то так и не реализовали возможность сохранять версию объекта перед удалением. Решил исправить эту досадную несправедливость и создать подсистему с кодовым названием «Живая вода».

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Нестандартные подсистемы: Живая вода (1Cv8.cf)
.cf 67,50Kb ver:0.0.5
6 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

На Infostart и других ресурсах есть много публикаций связанных с восстановлением «битых ссылок», но все они одного типа, они позволяют «Исправить» свершившийся факт удаления и действуют по принципу:

  • Восстанавливают объект, записав в Наименование, например «Восстановлен <Объект не найден> (54:82d5d897ba0899c911e8ca70137f2d25)». А когда-то возможно этот объект был "Докторская колбаса ГОСТ". При этом все реквизиты восстанавливаются путем ручного ввода.
  • Подымается база данных и к ней цепляются (Com, OData и т.д.) и ищут объект по восстановленному GUID объекта. То есть, чтобы восстановить элемент справочника, нужна копия базы.
  • Есть и другие методы. Разница в основном лишь в поиске битых ссылок.

Я НЕ ПРЕДЛАГАЮ еще одну обработку по поиску и восстановлению битых ссылок, Я ПРЕДЛАГАЮ использовать слова Александра Македонского: - «Лучшая защита - нападение».

Судите сами, в БСП есть подсистема «Версионирование объектов», в которой уже есть функционал "Создания версии объектаи "Восстановления версии объекта". Остается только взять этот функционал, доработать и создать версию объекта «ПередУдалением», ну и добавить возможность восстановить объект по сохраненной версии.

За основу взяты механизмы из "Библиотеки стандартных подсистем", (3.0.1.279). Работает на конфигурациях с БСП и без БСП.

 
 Текущий функционал: 
  • Сохранение и хранение версий по выбранным Документам и Справочникам в виде Fast InfoSet (Чтение\Запись реализована в версии 8.3.10.2168.). Подписка на событие ПередУдалением
  • Восстановление Документов и Справочников по битой ссылке. (Спасибо автору статьи Битые ссылки за его способ определения типов битой ссылки)
  • Восстановление Документов и Справочников по GUID и типу.
 
Тестировалась система на следующих конфигурациях и платформе:
  • 1С:Предприятие 8.3 (8.3.12.1685)
  • Не типовые конфигурации (Без БСП)
  • Демонстрационное приложение (1.0.26.4)
  • Демо "Библиотека стандартных подсистем", (3.0.1.279)
  • Демо Управление торговлей, редакция 11 (11.4.5.111)

По ходу тестирования на других платформах и конфигурациях список буду обновлять.

 
 
 Установка кратко:
 
 Установка подробно:
 
 После установки:

 

Примеры:

 
 Пример использования на базе с БСП:
 
 Пример использования на базе без БСП:

 

 
 Будущее и помощь:
  • Механизм по поиску битых ссылок. Пока решаю писать свой или использовать чей-то готовый, но какую обработку взять? Подскажите в комментариях на какую обратить внимание. Или может быть вы автор одной из таких обработок, и хотите поучаствовать в данной нестандартной подсистеме.
  • Создать единую базу по сбору версий. Обмен по средствам HTTP-Сервисов.
  • Обмен версиями с подсистемой "Версионирование объектов".

Релизы:

 
 Версия 0.0.5 (Текущая)
  • Выбор типов Документов и Справочников, по которым будет вестись хранение версий созданных перед удалением
  • Сохранение версий в виде Fast InfoSet (Чтение\Запись реализована версии 8.3.10.2168.)
  • Восстановление Документов и Справочников по битой ссылке. (Спасибо автору статьи Битые ссылки)
  • Восстановление Документов и Справочников по GUID и типу.

Вступайте в нашу телеграмм-группу Инфостарт

БСП Версионирование объектов Объект не найден ПередУдалением GUID Восстановление битых ссылок битая ссылка подсистема <Объект не найден> Com OData

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    49280    134    159    

90

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

5000 руб.

25.02.2026    2685    10    1    

14

Корректировка данных Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3660 руб.

10.02.2017    120243    722    177    

760

Поиск данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Платные (руб)

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

13420 руб.

14.05.2012    168102    358    253    

589

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    45103    31    13    

49

Корректировка данных Закрытие периода Мастера заполнения Программист Бизнес-аналитик Бухгалтер Пользователь 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 1С:УНФ Платные (руб)

Оптимизируйте процесс закрытия периодов. Автоматизируйте любые, даже самые сложные правила переноса и выполните инвентаризацию остатков за минуты. Гибкая обработка для 1С, которая работает как самостоятельный модуль — без привязки к БСП и с поддержкой большинства конфигураций. Ваш идеальный помощник для закрытия периода, исправления ошибок, реорганизации учета, корректировки и списания остатков.

6100 руб.

28.01.2026    924    2    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vo-Va 1110 12.10.18 23:55 Сейчас в теме
Почему живая вода? Я бы назвал это корзиной.
6. dsdred 4217 15.10.18 10:15 Сейчас в теме
(1)Корзина вызывает у меня какие то негативные ощущения, да и это Микрософтская тема.

Живая вода - элемент сказок. Убили, полили, оживили.

Сработает ли если битая ссылка возникла во время обмена риб?


Вообще по подписке на событие версия записывается в РС и поидее если передать данные РС тогда сработает.

П.С. В следующих версиях планируется отдельное Хранилище для версий созданных перед удалением. Ну и механизм обмена по http нарисую.
2. Vo-Va 1110 12.10.18 23:56 Сейчас в теме
Сработает ли если битая ссылка возникла во время обмена риб?
3. Xershi 1550 13.10.18 01:10 Сейчас в теме
(2) автор же написал перед удалением. А после обменов и не только РИБ объектов ещё не было, там сразу битая ссылка.
4. nvv1970 14.10.18 22:35 Сейчас в теме
Удаление не реализовано, потому что в РС.ВерсииОбъектов сам Объект сделан как Ссылка. Это очень плохо по многим причинам.
Например в аналогичной самописной я свободно использую логирование удаления, восстановление.
Использую только простые типы и как следствие свободное перемещение истории во внешнюю базу с доступом по внешнему источнику. А там полное раздолье: секционирование, сжатие, хоть за 100 лет история.
Полный комфорт.
dsdred; SlavaKron; +2 Ответить
8. dsdred 4217 15.10.18 10:21 Сейчас в теме
(4)Я планирую тоже внешнюю базу в следующем релизе с коннектом по http, но через ВИП тоже вариант.
9. nvv1970 15.10.18 10:27 Сейчас в теме
(8) а в какой среде собираетесь хранить данные и поднимать http?

Через внешний источник данные получаются мгновенно. Это очень удобно. Запросы, динамические списки и т.п.
HTTP - вещь перспективная, но архитектурно более сложная реализация.
10. dsdred 4217 15.10.18 10:35 Сейчас в теме
(9) Мудрить не буду. На 1с сделаю.
Там по идее работы часа на два, просто пока с временем не получается.
11. nvv1970 15.10.18 10:41 Сейчас в теме
(10) вот это и хотел спросить. Это плохой вариант.
Лишняя база 1с. Бррррр... Лишняя прослойка. Зачем?
Я думал что вы замахнулись на какой-нибудь OneClick )))

У меня реализация такая:
- пишется с текущую базу
- регламентно джоб скуля переносит данные во внешнюю базу, но на этом же сервере (можно рассматривать другой)
- читаем только через внешний источник...

Работоспособность никак не зависит от коннекта ,наличия базы и т.д. На миллиардах записей все крайне производительно.
12. dsdred 4217 15.10.18 10:49 Сейчас в теме
(11) Пока так, а потом посмотрим и в других направлениях в будущем.

У меня просто накопилось куча идей которые хочется наконец то просто реализовать. Время внезапно появилось, на больничном сейчас на долгом сижу с июля до конца года. Вот в этом году статьи и клипаю ;))

А уже потом когда реализую и изложу то что хотел, можно заморачиваться.
5. vpaoli 26 15.10.18 09:26 Сейчас в теме
Вместо одной корзины здесь 2 корзины. Достаточно сложное решение. Аналогичный эффект можно получить просто скрывая помеченные на удаление элементы из формы списков.
7. dsdred 4217 15.10.18 10:19 Сейчас в теме
(5) 2-е корзины? Не совсем понял где вторая?

Эффект от скрывания помеченных на удаление не аналогичный...
В планах создать отдельную базу в которую будут стекать версии. То есть ошметки будут храниться в отдельном хранилище, а помеченные это тот шлак который никуда не делся.
13. vpaoli 26 17.10.18 16:29 Сейчас в теме
1) помечаем элемент на удаление, он попадает в первую корзину.
2) удаляем элемент непосредственно, при этом согласно вашему алгоритму создается и хранится его версия. Это и есть вторая корзина с версиями удаленных элементов.

Корзина - подмножество элементов БД.
Зачем что то удалять, а потом создавать версии, если можно просто не удалять, а скрывать из поля зрения.
14. dsdred 4217 17.10.18 21:28 Сейчас в теме
(13)Все, я Вас понял.

Кому то нужно хранить все и за все время, а кому то нет.
Удалять или нет, тут вопрос и к объему БД и к виду деятельности и к профессионализму пользователей (бывают ошибки, дубли и т.д. Много, что бывает).


Не зря же есть сроки хранения данных(дел), документооборот, ГОСТы по делопроизводству, документоведы и процедуры уничтожения старых\архивных дел.
Для отправки сообщения требуется регистрация/авторизация