gifts2017

Обработка ObjectsCleaner ("Поиск ссылок и удаление объектов") для 1С:Предприятие-7.7

Опубликовал Юрий Осипов (yuraos) в раздел Администрирование - Чистка базы

Обработка совмещает в себе возможности двух системных обработок: “Поиск ссылок на объекты” и “Удаление помеченных объектов”. Имеет улучшенные инструменты для редактирования списка объектов для поиска ссылок:  выбор в поле выбора из формы списка, подбор в обработках “Консоль1CQA” и “ПодборUChoice”. Результат поиска ОТОБРАЖАЕТСЯ В ДИАЛОГЕ В ВИДЕ ДЕРЕВА ОБЪЕКТОВ, подчинённых друг другу по ссылкам. Обработка позволяет из контекстного меню при клике мышью выполнять с объектом различные действия.  Есть различные режимы контроля возможности удаления объекта в зависимости от его статуса (помечен на удаление или нет, проведён или нет).  Имеется «пакетный» режим исполнения:  поиск ссылок + контроль + удаление. Для других модулей предоставляется сервис автоматического выполнения (без открытия окна, с передачей списка объектов через параметр формы).

Самой величайшей ценностью в этом мире является велосипед.

Именно по этой причине все люди только тем и заняты,

что вновь и вновь его изобретают…

наверное, К. Прутков

 

Описание практической проблемы:

Как известно среднестатистическому пользователю почему-то легче ввести в базу новые данные (например, контрагента),

чем найти уже имеющиеся. Это приводит к проблеме накопления  мусора в базах данных (который приходится разгребать администраторам).

 

Эта тема настолько актуальна и популярна, что имеется масса разработок, аналогичной предлагаемой к вашему вниманию:

                http://infostart.ru/public/19726/ (53)

                http://infostart.ru/public/15108/ (13)

                http://infostart.ru/public/16651/ (33) - аналог системной обработки

                http://infostart.ru/public/16026/ (57)

                http://infostart.ru/public/19666/ (30)

                http://infostart.ru/public/92894/ (12)

В круглых скобках указан рейтинг работ на момент изучения вопроса.

 

ВНИМАНИЕ!!! Предлагаемая обработка является потенциально опасной.

ИСПОЛЬЗОВАТЬ ЕЁ СЛЕДУЕТ С ОСТОРОЖНОСТЬЮ – особенно в автоматическом режиме! 

Всю ответственность за возможную потерю данных несёт пользователь запустивший обработку.

 

Требования:

1) Обязательно - наличие предварительно загруженных (или лежащих в одном  каталоге с ObjectsCleaner) внешних компонент 1СPP.dll (www.1cpp.ru) и FormEx.dll (www.dorex.pro).

2) Желательно, чтобы в конфигурации был класс определённый пользователем "Общие.Форма.Привязка" (www.dev.citykirov.ru ,автор Дмитрий Ощепков). Обсуждение класса на форуме 1СРР:  http://www.1cpp.ru/forum/YaBB.pl?num=1200464076. При отсутствии класса обработка работать будет, но без привязок элементов в форме.

3) Желательно наличие сервисных обработок с именами:

  а) обработки ПодборUChoice (улучшенная обработка УОПО), Консоль1CQA (консоль прямых запросов 1С++) -  для удобства подбора объектов в список для поиска ссылок; 

  б) обработку EDITREKV ('Редактор Реквизитов' ,автор Цылёв Владислав vet7777@mail.ru) - для открытия объекта для редактирования из меню действий;

Эти обработки могут быть встроены в конфигурацию или лежать в одном каталоге с ObjectsCleaner.

 

Описание файлов поставки:

1) ObjectsCleaner.rar - обработка ObjectsCleaner;

2) FormEx1CPP.rar – библиотеки 1CPP.dll, FormEx.dll и класс "Общие.Форма.Привязка";

3) PlugIns.rarвспомогательные обработки ПодборUChoice (улутшенная обработка УОПО), Консоль1CQA (консоль прямых запросов 1C++),  ИзменениеВремениДокумента.

Последняя обработка используется в меню действий с объектом по двойному клику мыши (Рис.7) для изменения даты-времени документа.

4) Sample.rar  –пример использования обработки ObjectsCleaner в автоматическом режиме. Архив содержит следующие файлы: 

      обработка !РасчисткаКонтрагентов.ert – исполняемая обработка, непосредственно запускающая ObjectsCleaner в автоматическом режиме;

      командные файлы (*.bat) для запуска 1C из планировщика заданий Windows;

      файлы (*.prm) с параметрами для запуска;

      текстовый файл !Глобальник.txt с примером программного кода 1С, обеспечивающий при начале работы исполнение кода из внешних файлов.

5) ObjectsCleaner_ALL.rar – полный набор файлов поставки (все 4 архива);

 

Описание установки:

1) Обеспечить загрузку 1CPP.dll и FormEx.dll (обязательно):

Загружать библиотеки можно стандартным способом в процедуре ПриНачалеРаботыСистемы().

Если же ObjectsCleaner будет использоваться как внешня, то достаточно скопировать файлы dll в каталог обработки.

Подробнее о загрузке ВК  смотрите в статье об обработке Консоль1CQA или в файле \..\ Sample.rar \!Глобальник.txt комплекта поставки.

При работе обработки в автоматическом режиме без открытия диалога формы загрузка ВК FormEx.dll - не обязательна.

 2) Подключить класс "Общие.Форма.Привязка" (желательно):

Подробности подключения класса смотрите в статье об обработке Консоль1CQA.

 3) Вспомогательные обработки (желательно):

Скопировать из каталога файла поставки \..\PlugIns.rar\PlugIns\ в каталог обработки или добавить в конфигурацию под теми же именами.

 

Описание возможностей: 

1) Обработка совмещает в себе возможности двух системных обработок:  “Поиск ссылок на объекты” и “Удаление помеченных объектов”. 

2) Она имеет удобные инструменты для заполнения списка объектов для поиска ссылок:

3) Обработка осуществляет рекурсивный поиск ссылок. В результате поиска строится дерево подчинённости объектов (таблица значений, имеющая колонку ‘тзПотомки’, в которой находится таблица идентичной структуры с подчинёнными по ссылкам объектами для объекта в текущей строке). Полученное дерево объектов отображается в диалоге с помощью объекта ‘Таблица + Дерево’, поставляемого ВК FormEx.dll (Рис.5).

4) При клике мышью в дереве подчинённости в колонке “Описания ссылок на объект” выводится описание ссылок на объект в текущей строке дерева (Рис.5). Также при клике мышью по объекту в списке поиска или в дереве подчинённости выводится контекстное меню (Рис.6, Рис.7), позволяющее выполнить с объектом различные действия:

    1. открыть для просмотра/редактирования в диалоге или в списке;
    2. пометить на удаление, снять пометку удаления;
    3. провести, отменить проведение;
    4. удалить непосредственно;
    5. изменить дату-время документа - требуется сервисная обработка ИзменениеВремениДокумента;
    6. Просмотреть движения документа или сформировать его структуру подчинённости;
    7. открыть объект для редактирования в обработке 'Редактор Реквизитов' (автор Цылёв Владислав vet7777@mail.ru)

В последнем случае используются встроенные в обработку отчёты, чтобы не зависеть от используемой конфигурации. Отчёт по движениям документа – полная версия (по регистрам, проводкам, записям ЖР и истории реквизитов). При построении структуры подчинённости документа для выборки подчинённых документов используются прямые запросы (в базе формата DBF  - по возможности: если в монопольном режиме прямые запросы не работают, то используется стандартный выбор подчинённых документов).

5) Дерево подчинённости может быть большим (как в “глубину”, так и в “ширину”) и на его построение может уйти много времени. Поэтому в обработке предусмотрены ограничения максимального уровня в дереве (по умолчания – 5) и максимального числа ссылок на объект (по умолчанию – 100). Строки с объектами, для которых при поиске ссылок превышены эти ограничения, выделяются красным фоном в списке объектов и в дереве подчинённости (Рис.5, группа товаров “Шипы”).

6) Обработка предоставляет возможность удалять непосредственно объекты из списка поиска вместе со всеми подчинёнными объектами в дереве подчинённости.Перед удалением обработка требует выполнить процедуру проверки возможности удаления. Проверка возможности удаления осуществляется рекурсивно в дереве подчинённости по следующим принципам:

  1. Если при построении ветви дерева подчинённости превышены ограничения по уровню и числу ссылок (п. 4), то считается, что всю эту ветвь объектов удалять нельзя (поскольку она может оказаться не полной).
  2. Обязательным условием возможности удаления выше стоящего в дереве подчинённости объекта является возможность удаления всех ниже лежащих.
  3. Сама возможность удаления объекта определяется по его статусу: помечен он на удаление или нет, проведён или нет.

По умолчанию можно удалять только помеченные на удаление объекты. Но в обработке имеются флаги, снимающие это ограничение:

  • -  удалять не проведённые документы как помеченные объекты (Рис.8);
  • -  удалять все непомеченные объекты (Рис.9);
  • -  удалять все объекты (помеченные и не помеченные) кроме проведенных документов (Рис.13);

Этими флагами следует пользоваться осторожно. При их установке выводятся соответствующие предупреждения.

7) Удаление каждой ветви объектов в дереве подчинённости выполняется в отдельной транзакции. При неудаче удаления хоть одного объекта в ветви (из-за блокировок или при повторной проверке возможности удаления по его статусу) – откатывается удаление всей ветви.  В обработке есть флаг, включающий режим удаления всех ветвей дерева объектов в единой транзакции (по соображениям безопасности устанавливается по умолчанию в разделённом режиме).

8) При клике в списке поиска в колонке со статусом объекта можно просмотреть причину, по которой нельзя удалить объект (Рис.10).  Успешно удалённые объекты выделяются  в списке и дереве красным шрифтом на светло-жёлтом фоне (Рис.11).

9) У обработки имеется «пакетный» режим исполнения (Рис.12), в котором после подтверждения последовательно выполняются все три этапа действий:

поиск ссылок, проверка возможности удаления и само непосредственное удаление.

10) Обработка предоставляет для других модулей сервис автоматического выполнения поиска ссылок и удаления объектов. При этом в обработку через параметр формы передаётся список объектов для поиска ссылок, параметры поиска ссылок и  контроля возможности удаления.

Назад обработка через параметр формы возвращает статистику выполнения: время выполнения каждого из этапов, число удалённых и не удалённых по разным причинам объектов.  Подробнее смотрите в примере использования. 

Подробное описание возможностей обработки можно вывести в табличный документ, нажав на кнопку 'Описание' (что со знаком вопроса, Рис.7).  

 

Назначение обработки:

1)      Основное применение – расчистка мусора в базах данных, создаваемого пользователями.

2)      Также обработка удобна для анализа того, где используется выбранный объект. Это бывает полезно при исправлении  ошибок пользователей при вводе данных.

 

Пример использования в “автоматическом” режиме:

С помощью этой обработки успешно решена задача расчистки справочника “Контрагенты”, как говорится, в тяжёлом случае:

  1. Всего в справочнике было примерно 11500 элементов.
  2. Реально используемых контрагентов со статусом “Действующий” было около 4500.
  3. Все остальное – помеченный на удаление “мусор” со статусом “Удалённый” (двойники по ИНН и просто с незаполненными реквизитами).
  4. Некоторые из “удалённых” контрагентов “светились” в документах прошлых лет (в том числе в проведённых).

В результате выполнения очистки осталось около 200 “удалённых” контрагентов. Это как раз те контрагенты, на которых есть ссылки в проведённых документах.

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

С помощью планировщика заданий Windows по расписанию запускалась 1С с особой строкой запуска.

Смотрите пример из файла \..\ Sample.rar \! 1C77clear_contr.bat.

В строке запуска наряду со стандартными параметрами указывался ещё один дополнительный - /S

Через него в 1С передаётся имя файла со скриптом на языке 1С для исполнения при начале работы системы.

Пример кода – в файле  \..\ Sample.rar \! 1C77clear_contr.prm.

В сеансе 1С при начале работы значение этого параметра считывается с помощью объекта “Сервис” (поставляется ВК FormEx.dll):  КоманднаяСтрока1С = Сервис.КоманднаяСтрока(); 

Если существует файл с переданным через параметр /S именем, то 1С считывает из него текст кода и пытается выполнить его с помощью объекта “ВыполняемыйМодуль” (поставляется ВК 1CPP.dll). 

Пример реализации этого механизма смотрите в файле \..\ Sample.rar \! Глобальник.txt.

Переданный на исполнение скрипт запускал обработку !РасчисткаКонтрагентов.ert (из архива Sample.rar ) с установкой параметров удаления через параметр формы.

Эта обработка в цикле выбирает из базы удалённых контрагентов прямым запросом, установленными порциями (например, по 100 штук за раз), и передаёт их для очистки обработке ObjectsCleaner в автоматическом режиме. Ход выполнения очистки записывается в файлы лога. 

После каждого цикла очистки проверяется текущее время. И если оно превышает установленное ограничение, выполнение обработки прерывается с завершением работы 1С.

До и после такой масштабной чистки данных для копии базы в конфигураторе было проведено тестирование в пакетном режиме с записью лога

(командный файл TestIB.bat и файл с параметрами TestIB.prm из архива Sample.rar).

Результаты тестирования показали, что очистка справочника не внесла в базу новых ошибок в данные.

-----------------------------------------------------------------------------------------------------------------------------

Описанный здесь пример подойдёт для баз на основе ТК “Торговля+Склад, редакция 9.2” с небольшой доработкой справочника “Контрагенты”.

В нем должен быть числовой реквизит “Статус”. В этот реквизит обработка !РасчисткаКонтрагентов.ert  прописывает особое значение (равное 4),

чтобы не выбирать повторно контрагентов, которых нельзя удалить.

 Для баз формата DBF кроме этого придётся ещё адаптировать текст запроса выборки контрагентов:

 в условиях запроса придётся заменить фрагменты “.ISMARK=1” на “ .ISMARK=’*’”.

-----------------------------------------------------------------------------------------------------------------------------

  

Авторские права и условия распространения:

Обработка предназначена для свободного, то есть, бесплатного распространения.

Пожертвования на добрые дела, как говорится, с благодарностью принимаются (номер Яндекс-кошелька: 4100-1111-6661-850).

Каждый заинтересованный член сообщества вправе вносить в обработку изменения при сохранении информации об авторстве в её описании.

 

Благодарности:

  1. Выражаю огромную благодарность всему сообществу 1CPP и родственным проектам. Их совместными усилиями смерть 1С-7.7 откладывается на неопределённое время.
  2. Также хочется сказать спасибо всем коллегам по своей (увы уже бывшей) компании за плодотворное сотрудничество, длившееся более четырёх лет.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ObjectsCleaner_ALL.rar
.rar 2,30Mb
27.02.13
311
.rar 2,30Mb 311 Скачать
ObjectsCleaner.rar
.rar 65,55Kb
27.02.13
18
.rar 65,55Kb 18 Скачать
FormEx1CPP.rar
.rar 2,10Mb
27.02.13
14
.rar 2,10Mb 14 Скачать
PlugIns.rar
.rar 113,52Kb
27.02.13
11
.rar 113,52Kb 11 Скачать
Sample.rar
.rar 20,82Kb
27.02.13
11
.rar 20,82Kb 11 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Юрий Осипов (yuraos) 04.12.11 00:13
И так, предлагаю на суд общественности очередной "велосипед" (№1 из трёх) :))))) ...
... Надеюсь он выделится в ряду аналогичных и понравится народу.
Лично мне он пригодился не раз (и по мелочи, и по крупным делам).
2. Борис Белов (BorisBelov) 04.12.11 09:51
(1) Очень сжатое описание: "можно выполнять с объектом различные действия... Есть различные режимы контроля ..."
Хотелось бы подробнее, с картинками!
3. Юрий Осипов (yuraos) 04.12.11 10:09
BorisBelov пишет:

(1) Очень сжатое описание: "можно выполнять с объектом различные действия... Есть различные режимы контроля ..."
Хотелось бы подробнее, с картинками!


так на то и анонс, что там все сжато ;))))))))))))

читаем дальше...
.... а картинок там в конце аш целых 12
4. Борис Белов (BorisBelov) 04.12.11 15:48
(3) Слона-то я и не заметил!
5. Александр Лыткин (TrinitronOTV) 04.12.11 17:04
нужная разработка, спасибо
6. Юрий Осипов (yuraos) 04.12.11 17:17
BorisBelov пишет:

(3) Слона-то я и не заметил!

Согласен!
Кусты получились высокие ;)))))))))))))))))
Из-за них его нифига не видать.
7. vkr (vkr) 05.12.11 10:46
(0) Коллега, в инструкцию по применению Вы, наверное, забыли добавить :
"Запускать только, надев ОЗК (общевойсковой защитный комплект) и в бетонном бункере" :):):)
А если серьезно, то - большой плюс !!! Очень мощный инструмент!
8. Андрей Казанцев (ander_) 10.12.11 09:57
абалдеть, вот это комбайн! Это ж сколько времени на него было угрохано?!
9. Юрий Осипов (yuraos) 10.12.11 17:34
(8) ander_, это не комбайн, а велосипед ;))))))
времени потачено довольно много,
но что только не зделаешь из любви к искусству!
10. Юрий Осипов (yuraos) 11.12.11 21:38
Всем доброго времени суток!
Обновлены файлы поставки:
- ObjectsCleaner_ALL.rar,
- ObjectsCleaner.rar,
- FormEx1CPP.rar,
- PlugIns.rar.
Текущие изменения:
1) В форму обработки добавлена кнопка для вывода
в табличный документ описания обработки;
2) В меню действий с объектом по клику мышью добавлена
команда открытия объекта для редактирования в обработке
'Редактор Реквизитов' (автор Цылёв Владислав vet7777@mail.ru);
3) В файле FormEx1CPP.rar выложена подправленная версия класса "Общие.Форма.Привязка"
(устранена ошибка времени выполнения, проявляющаяся в терминале,
если установлен размер окна приложения в 'процентах от размера рабочего стола'
большое спасибо Pari за обсуждение проблемы);
4) В файле PlugIns.rar выложена обновленная версия консоли 1CQA.
12. Alex Melnichuk (Amel2010) 14.12.11 10:17
Колоссальная работа проделана. Возможно когда-нибудь пригодится.
Однозначно плюс!
13. Alex Melnichuk (Amel2010) 14.12.11 10:20
И, ксати, почему велосипед?
Не согласен.
Раньше не встречал такого подхода.
А штатный инструмент для удаления объектов - просто позор!
С ним при большом количестве удалений крайне неудобно работать!
Так что :-) еще раз плюс!
14. Юрий Осипов (yuraos) 14.12.11 19:22
Amel2010 пишет:

И, ксати, почему велосипед?

Не согласен.

Раньше не встречал такого подхода.

А штатный инструмент для удаления объектов - просто позор!

С ним при большом количестве удалений крайне неудобно работать!

Так что :-) еще раз плюс!

Нуууу .... в том смысле велосипед,
что поделок с пожим назначением - МОРЕ!
:)))))
15. Юрий Осипов (yuraos) 14.12.11 19:42
(13) Amel2010, на счет позора штатной обработки ты прав на все 100!!!
я щас придуряюсь - базу секвестирую ...
... надо вырезать где-то 1 700 000 документов.
Решил попробывать штатную.
Она где-то часа два торговала и выдала,
что нужно удалить где-то 1 800 000 объектов (+справочники + то что остается после обрезки).
нажал проверить - и она надолго задумалась на предмет возможности удаления.
В конце рабочего дня выдала (в модальном окошке): что можно удалить столько-то, а нельзя столько-то.
Нажимаю "ОК" и она снова задумалась уже до следующего утра:
пыхтела, строила список ссылок на удаляемые объекты.
Пришел утром, и с дуру снял галку "показывать объекты, которые нельзя удалить" ....
... обработка снова задумалась, :((((((((((
Тут мое терпение лопнуло!!!
я долго с наслаждением убивал сеанс 1С-ки в планировщике задач.
а как убил - сел писать обработку,
которая будет порциями удалять любые объекты с помощью ObjectsCleaner.
16. Владимир Попов (madvovik) 15.12.11 02:08
мсье Вы маньяк! Снимаю перед Вами шляпу!
Так из колеса еще никто не делал вездехода :)
17. Александр Шишкин (Шёпот теней) 15.12.11 02:44
ужжж ...

... целостность системы определятся самой слабой её частью ... одно только прочтение требований для её работы утомляет ... и настораживает (напоминает инструкцию по собиранию мебели) ...

универсальность - самое глупое решение для разовых и немасшатабируемых задач ! ... пророда создаёт одиноковые принципы а не универсальные решения ...


впрочем ... всякая ситуация требует решения .. автор её решил - остальные смотрят и восхищаются новосибирскими левшами ... !!!

п.с.1.проблема многих программистов это ВЫзревание ... потенция ЕСТЬ и применения НЕТ (я о глабальности) ...
п.с.2.иногда расчистка агнивых конюшен приводит лишь к заполнению новым овном ...
п.с.3.непосредственное удаление вещь настолько же хорошая и настолько же опасная .. хм ...

... но комментс :
Всего в справочнике было примерно 11500 элементов.
Реально используемых контрагентов со статусом “Действующий” было около 4500.
Все остальное – помеченный на удаление “мусор” со статусом “Удалённый” (двойники по ИНН и просто с незаполненными реквизитами).
Некоторые из “удалённых” контрагентов “светились” в документах прошлых лет (в том числе в проведённых).
...

.. мусор составляет 60% справочника ... хм ... женщины, ой, БаБы - тАААк любят порядок (это я о бухах) ... ))))))) ...

... вотКОММЕНТвот ...

...
18. Alex Melnichuk (Amel2010) 15.12.11 10:09
(17) Шёпот теней,
Многобуков....
Не лень было набирать?
Думаешь, прочтение твоего каммента не утомляет?
Шёпот теней пишет:
... целостность системы определятся самой слабой её частью ...

Что это за бред?
При чем тут слабые части к целостности...
Ну и т.д.
Шёпот теней пишет:
... вотКОММЕНТвот ...

Рейтинг набираешь?
19. Юрий Осипов (yuraos) 15.12.11 19:36
madvovik пишет:

мсье Вы маньяк! Снимаю перед Вами шляпу!

Так из колеса еще никто не делал вездехода :)

---
Я знаю точно наперед,
Сегодня кто-нибудь умрет!
Я знаю кто, я знаю как...
Я не гадалка, я - МОНЯК!

;))))) Спасибо за высокую оценку!
20. Юрий Осипов (yuraos) 15.12.11 19:57
(18)
Рейтинг набираешь?

не Amel2010,
он просто в душе не Пушкин, а Белинский.
Такие люди тоже бывают полезны...
...привлекают внимание общества. :)))))
ЗЫ (это PS ;))) )
Ради рейтинга (вернея ради $money)
я б разбил то сообщение штук на пять и
заработал бы 4 рубля вместо 80-ти копеек -))))
21. Александр Шишкин (Шёпот теней) 16.12.11 03:31
.. хм .. а что?! сейчас за комментарии деньги плАтят ??? ...

(вопрос ради вопроса ...! а не ради денег ))) ) ... вотВЕДЬвот ...
22. Alex Melnichuk (Amel2010) 16.12.11 10:16
(21) Шёпот теней,
:-) А то!
Ответ не ради ответа...
23. Александр Шишкин (Шёпот теней) 16.12.11 11:04
(22) ... афигеть ...

т.е. раньше "просто" болтали а теперь за "денежку" ...

... уфффВОТфффу ...

п.с. я то думал Вы в (18) "просто" ругаетесь ... хм ... теперь понятно за "что" ... )))))))

... не ради "пики" ради прАвды ...
24. Александр Шишкин (Шёпот теней) 16.12.11 11:22
(20) ... эка Батюшка ВЫ на Пушкина замахнулись ... впрочем за Белинского спАсиБО ! ...

никто не хочет "просто" работать ... сначало нужно "заклоакать" все справочники а потом с этим что-то делать ... бороться и побеждать ...

восхищаюсь мужеством и умениями ... талантом и мастерством ... опытом и настойчивостью ... !!!

.. вотУЖЖЖвот ...

п.с. работа по удалению объектов с пометкой на удаление - вАААщето работа пользователя ... моё мнение ...

... вы не моцарт а я не сальери ... Все говорят: нет правды на земле. Но правды нет и -- выше. ...

...
25. Юрий Осипов (yuraos) 16.12.11 22:01
(24) Шёпот теней,
Вижу ты во истину Белинский, отче российской демократии!
Выдвигайся в президенты!!! я за тебя проголосую ...
... если пообещаешь отменить счета-фактуры.
;))))))))
26. Юрий Осипов (yuraos) 17.12.11 08:39
Шёпот теней пишет:

(20)
------------
никто не хочет "просто" работать ... сначало нужно "заклоакать" все справочники а потом с этим что-то делать ... бороться и побеждать ...
------------
п.с. работа по удалению объектов с пометкой на удаление - вАААщето работа пользователя ... моё мнение ...
------------

..... ээээээээээхм, не сыпь нам соль на рану - ОНА ВСЕГДА БОЛИТ!!!
;)))))))))))))))))))))))))))
Я сантехник, мне нелегко.
За вредность щас не дают молоко.
Случается так, что юзер дурак!
И ср*т не в унитаз, а на стульчак.
Приходится мне г*вн* отскребать,
А юзерам хочется больше н*ср*ть!
.......................группа "Ленинград"
27. Юрий Осипов (yuraos) 17.12.11 14:53
Всем доброго времени суток!
Обновлены файлы поставки:
- ObjectsCleaner_ALL.rar,
- ObjectsCleaner.rar,
- PlugIns.rar.
Текущие изменения:
1) Исправлен баг: не формировалось дерево документов при обработке команды меню действий со значением в ячейке таблицы результатов запроса (из-за неправильного вызова процедуры рекурсивного вывода на печать подчиненных документов).
2) В файле PlugIns.rar выложена версия Консоли 1CQA с аналогичными исправлениями.
28. Александр Шишкин (Шёпот теней) 17.12.11 20:13
(25) ... и чем же ТЕБЕ не угодили СчФ ??? ... испЫтЫваю прАктический интерес ... вотВОПРОСвот ...

п.с. а за голос в призиденты спАсибо ... только отменить СчФ никому не удастся ((( ... хм ..зато новые ТТН появились )))

...
29. Юрий Осипов (yuraos) 17.12.11 21:08
(28) Шёпот теней, ну как же, как же...
Каждый свободномыслящий нарродный интеллегент точно скажет, что
.....зачетная схема исчисления НДС - это ФИСКАЛЬНЫЙ ПРОИЗВОЛ, а
.....счет-фактура - есть ОРУДИЕ этого ПРОИЗВОЛА,
это однозначно !!!

Допустим МУЖИК №1 покупает что-то у МУЖИКА №2.

Ну и какая ЕМУ разница
с точки зрения идеалов французской революции...
...ну там свобода, всеобщее братство, равенство прав и все такое, что в конституциях всяких записано.

как там МУЖИК №2 платит свои налоги ... по ОСН, УСН или там по ЕНВД ???

Оказывается есть (если МУЖИК №1 платит НДС)!
Нет счета-фактуры (или в счете-фактуре ноль стоит) - нет зачета НДС и
государство, таким образом, имеет налог не с "добавленной", а с "полной" стоимости (то есть с оборота ;)))) ).

Тоже самое, когда в счете-фактуре что-то не так написано, разбирательств на эту тему - уйма!

ЗЫ
Вот и получется круговая порука или попрание основных демократических прав в налоговом законодательстве:
"скованные одной цепью, связанные одной целью" :((((((((((((

и вынуждены МУЖИКИ ... клонироваться,
то есть дубли самих себя создавать (как у Стругацких в "Понедельник начинается в субботу"):
Один дубль на ОСН для тех кто НДС платит, другой дубль на УСН, а третий - на вмененке сидит. ;))))))))
30. Сергей (Che) Коцюра (CheBurator) 17.12.11 21:52
Разработка, видимо пригодится там, где надо наводить порядок - при отсутсвии у конфигурации/базы постоянного "хозяина", сопровождающего жизненный цикл. Там где следят за базой постоянно - такие навороченные инструменты вряд ли нужны.. ;-)
31. Юрий Осипов (yuraos) 17.12.11 22:25
(30) CheBurator, истину глаголишь!
Особенно когда этот "постоянный" хозяин один в базе работает.
;))))))
ЗЫ:
Эта обработка - в первую очередь - CLEANER - для расчистки мусора.
Чем больше база и чем больше юзеров в базе - тем больше мусора.
И когда одному постоянному "хозяину" туговато станет за всеми разгребать ....
(особенно когда мало возможностей зайти в базу в монопольном режиме для расчистки
в силу непрерывности производства)
.... тогда наверное ему будет небезполезен этот инструмент.
;))))))
32. Юрий Осипов (yuraos) 18.12.11 07:47
yuraos пишет:

(30) CheBurator, истину глаголишь!

Особенно когда этот "постоянный" хозяин один в базе работает.

;))))))

ЗЫ:

Эта обработка - в первую очередь - CLEANER - для расчистки мусора.

Чем больше база и чем больше юзеров в базе - тем больше мусора.

И когда одному постоянному "хозяину" туговато станет за всеми разгребать ....

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

в силу непрерывности производства)

.... тогда наверное ему будет небезполезен этот инструмент.

;))))))

ЗЫ-ЗЫ:
Еще один источкик мусора - косяки в данных, возникающие по разным причинам.
Иногда оказывается что объекты с косяками (неразрешимыми ссылками)
особой ценности не представляют.
И их вместо испавления лутше выборочно вычистить.
:)))))))))
Шёпот теней; +1 Ответить
33. Александр Шишкин (Шёпот теней) 18.12.11 11:11
(29) ... хм ... вот ведь ...

в чЁм не согласен:
1. каждый инструмент для своего применения
2. налоги надо собирать
3. НДС один из самых эффективных налогов и эффектных
3.1.наполняемость бюджета
3.2.трудность обхода
3.3.отдельная строка
3.4.имеет экономический смысл
и т.д.

Конкретная схема обложения НДС была разработана в 1954 году французским экономистом М. Лоре, с легкой руки которого он и был введен во Франции в 1958 году. НДС начала использоваться в статистических и аналитических целях еще с конца прошлого века.
затем Дания, Германия, Америка, Турция, Израиль и далее... сейчас порядка 140 стран его используют ...

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

ЧТО могу ещЁ скАзАть: конечно, если "мы" захламляем с такой скоростью спрАвочники и никто не несЁт за это ответственность, то НДС нам уже кажется "зверем-налогом" а "СчФ" - убийцем-документом ...

насчЁт строгости: ГНИ есть продолжение государЬства и если ему, ГОСУДАРЬству, не нужно производство то почему ГНИ оно должно быть нужно !!!

... вотНДСвот ...

п.с. "источник мусора" - это пользователь, бАбЫ которые за долгие годы так и не изучили и не узнали что тАкое 1С ... ((( .. боюсь что такое бухгалтерия они тоже уже забыли (((

...
35. Vladimir Ivanovitch (tmm) 20.12.11 12:45
Пока не попробуешь - ничего не поймёшь. Поэтому надо качать и пробовать.
36. Юрий Осипов (yuraos) 20.12.11 13:15
tmm пишет:

Пока не попробуешь - ничего не поймёшь. Поэтому надо качать и пробовать.

Ета точно. Нада пробывать,
то есть пытаться ...
... и как говаривал ИВС(в известном анегдоте):
"ведь попьитка не пытка, не правда, товарисчь Берия?"
;))))))))))))))))))
37. Харьков Харьков (xaker1C) 20.12.11 18:07
Просто мощно классно
38. Юрий Осипов (yuraos) 20.12.11 18:10
(37) xaker1C, я старался!
;)))))))))))))))))))))))
Шёпот теней; +1 Ответить
39. Гость 28.12.11 16:31
нужная разработка, спасибо большое
40. Юрий Осипов (yuraos) 05.01.12 19:52
Всем доброе время суток!
Обновлены файлы поставки:
ObjectsCleaner_ALL.rar;
ObjectsCleaner.rar;
FormEx1CPP.rar;
PlugIns.rar;

Текущие изменения:
1) Подправлен встроенный отчет по движениям документа в обработках ObjectsCleaner и Консоль1CQA.
Устраненена зависимость алгоритма формирования отчета от объекта "ИндексированнаяТаблица", поставляемого ВК 1CPP.dll.
По возможности отчет использует индексированные таблицы. Если они не доступны (не загружена 1CPP),
то используются "запасные" варианты алгоритма через "ТаблицуЗначений".
2) В классе 'КОП_ОбщиеФормаПривязка' - устранены некоторые глюки при работе модальном режиме.
41. Юрий Осипов (yuraos) 02.02.12 12:46
Всем доброго времени суток!

Обновлен файлы поставки
ObjectsCleaner_ALL.rar и
ObjectsCleaner.rar.

Текущие изменения:
1) исправленн довольно неприятный баг:
при обработке команды контекстного меню при клике по ячейке таблицы значений
независимо от выбранной команды просто открывалась форма объекта для просмотра.
2) в контекстное меню добавлены команды (для документов):
- открыть в общем журнале (отыскивается первый подходящий по своствам объкта Метаданные.Журнал(о));
- открыть список подчиненных документов;
3) Добавлена опция удаления "Удалять непомеченные < 0";
4) Теперь для работы обработки в автоматическом режиме загрузка ВК FormEx.dll - НЕ ОБЯЗАТЕЛЬНА!
5) исравлены другие незначительные баги.
44. Гость 24.03.12 17:32
Спасибо, обработка хорошая, пока не применяли, но думаю в дальнейшем пригодится.
45. Александр Раевский (ray-xp) 07.03.13 07:52
Спасибо! Я в экстазе! Отличная работа,действительно комбайн!!! Всем рекомендую.
46. Юрий Осипов (yuraos) 07.03.13 18:57
(45) ray-xp,
рад стараться.
Все думаю портировать ее на 8.х да руки не доходють...
47. Э. Лукманов (erthia) 21.03.13 12:44
Мегареспект! Очень удобно для удаления большого количества однотипных объектов, когда нужно что-то оставить, не удаляя, а какой-то вид удалить с отбором по датам.
48. Александр Дятченко (Alexander.Dyatchenko) 20.06.13 21:41
Отличная обработка - просто оазис!!! Я под 8-ку даже таких не видал!
Столкнулся с проблемкой.
Не работает обработка если 1С запущен в английском языке.
Нужно открыть в русском и все работает.
Спотыкается на "итзСсылки.Группировать("ОбъектСсылка:Объект,Ссылка","Каунт",1);" - ошибка " Колонка 'Объект' не найдена!"
49. Юрий Осипов (yuraos) 21.06.13 19:25
(48) Alexander.Dyatchenko,
спасибо за ценное замечание!
хотя я с 1с-7.7 сейчас активно не работаю, но по возможности побыстрей
постараюсь подправить указанный недостаток.
50. Юрий Осипов (yuraos) 21.06.13 19:28
(49)

Отличная обработка - просто оазис!!! Я под 8-ку даже таких не видал!

аналогичная обработка для 8.2 (обычное приложение):
http://infostart.ru/public/116386/
51. Юрий Осипов (yuraos) 21.06.13 19:31
(50)
правда автор возгордился ...
... и сделал обработку платной

---
ЗЫ
хочу свою обработку "портировать" для 8.1-8.2, да все руки не доходят.
52. Юрий Осипов (yuraos) 21.06.13 20:44
(48) Alexander.Dyatchenko,
небольшое уточнение:
---
"Не работает обработка если 1С запущен в английском языке."
---
имеется ввиду, что "Основной язык конфигурации" - Английский ???
53. Андрей Верещагин (A151) 05.10.13 12:31
Здравствуйте. Действительно интересная обработка. Возможностей тьма в теории. На практике есть "замусоренная" база: 110870 документов помеченных на удаление пользователями т.е. "мусор" + столько же ссылок на "мусор" созданных теми же пользователями по ошибке т.е. "ссылки-мусор" но в проведенных "нужных" документах. В обработке видим "ссылки-мусор" - удаляем эти "ссылки-мусор" руками, чтобы сохранить "нужные" документы и так 110870 раз... Или как-то иначе можно?
54. Олег Васильченко (wslalom) 19.01.15 02:49
Очень рессурсоёмкая обработка, да и ещё проверьте файлы, моему антивирусу два файла показались заражёнными.
55. Юрий Осипов (yuraos) 19.01.15 19:50
(54) wslalom,

1. Да, обработка тяжеловата, поскольку в ней используется рекурсивный поиск ссылок на объекты.
сама по себе эта операция "ресурсоемкая" (особенно для 7.7),
а тут она запускается рекурсивно для построения дерева подчиненности очищаемых объектов по ссылкам.

2. На счет вирусов:
проверил у себя лицензионным (обновляемым) Dr.Web-бом - все в порядке.

PS
любопытно было бы узнать на какие именно файлы жалуется ваш антивирусник???
в комплекте поставки есть пара безобидных батника
(для запуска конфигуратора 1с-77 в пакетном режиме) - наверное они вашему антивирусу чем-то не приглянулись.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа