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

11.10.18

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Нестандартные подсистемы: Живая вода (1Cv8.cf)
.cf 67,50Kb ver:0.0.5
5
5 Скачать (1 SM) Купить за 1 850 руб.

На 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С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    4501    37    18    

45

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

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

14400 руб.

29.04.2020    33797    108    152    

75

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

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

3600 руб.

10.02.2017    111365    669    174    

708

Поиск данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Платные (руб)

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

10800 руб.

14.05.2012    159631    339    253    

573

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

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    52609    16    61    

55

Взаиморасчеты Корректировка данных Бухгалтер Пользователь Платформа 1С v8.3 1C:Бухгалтерия Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

12000 руб.

02.11.2020    7514    6    0    

8

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    51362    175    29    

127

Корректировка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    256    1    0    

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

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

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


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

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

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

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

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

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

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

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

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

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


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