Самой величайшей ценностью в этом мире является велосипед.
Именно по этой причине все люди только тем и заняты,
что вновь и вновь его изобретают…
наверное, К. Прутков
Описание практической проблемы:
Как известно среднестатистическому пользователю почему-то легче ввести в базу новые данные (например, контрагента),
чем найти уже имеющиеся. Это приводит к проблеме накопления мусора в базах данных (который приходится разгребать администраторам).
Эта тема настолько актуальна и популярна, что имеется масса разработок, аналогичной предлагаемой к вашему вниманию:
//infostart.ru/public/19726/ (53)
//infostart.ru/public/15108/ (13)
//infostart.ru/public/16651/ (33) — аналог системной обработки
//infostart.ru/public/16026/ (57)
//infostart.ru/public/19666/ (30)
//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.rarPlugIns в каталог обработки или добавить в конфигурацию под теми же именами.
Описание возможностей:
1) Обработка совмещает в себе возможности двух системных обработок: “Поиск ссылок на объекты” и “Удаление помеченных объектов”.
2) Она имеет удобные инструменты для заполнения списка объектов для поиска ссылок:
-
- Выбор в поле выбора из формы списка с предварительной установкой типа объекта (Рис.1).
- Подбор списка объектов в обработке Консоль1CQA (консоль прямых запросов 1C++) (Рис.2).
- Подбор списка объектов в обработке ПодборUChoice (улучшенная обработка УОПО) (Рис.3).
- Заполнение списка всеми помеченными на удаление объектами в базе (Рис.4).
3) Обработка осуществляет рекурсивный поиск ссылок. В результате поиска строится дерево подчинённости объектов (таблица значений, имеющая колонку ‘тзПотомки’, в которой находится таблица идентичной структуры с подчинёнными по ссылкам объектами для объекта в текущей строке). Полученное дерево объектов отображается в диалоге с помощью объекта ‘Таблица + Дерево’, поставляемого ВК FormEx.dll (Рис.5).
4) При клике мышью в дереве подчинённости в колонке “Описания ссылок на объект” выводится описание ссылок на объект в текущей строке дерева (Рис.5). Также при клике мышью по объекту в списке поиска или в дереве подчинённости выводится контекстное меню (Рис.6, Рис.7), позволяющее выполнить с объектом различные действия:
- открыть для просмотра/редактирования в диалоге или в списке;
- пометить на удаление, снять пометку удаления;
- провести, отменить проведение;
- удалить непосредственно;
- изменить дату-время документа — требуется сервисная обработка ИзменениеВремениДокумента;
- Просмотреть движения документа или сформировать его структуру подчинённости;
- открыть объект для редактирования в обработке ‘Редактор Реквизитов’ (автор Цылёв Владислав vet7777@mail.ru);
В последнем случае используются встроенные в обработку отчёты, чтобы не зависеть от используемой конфигурации. Отчёт по движениям документа – полная версия (по регистрам, проводкам, записям ЖР и истории реквизитов). При построении структуры подчинённости документа для выборки подчинённых документов используются прямые запросы (в базе формата DBF — по возможности: если в монопольном режиме прямые запросы не работают, то используется стандартный выбор подчинённых документов).
5) Дерево подчинённости может быть большим (как в “глубину”, так и в “ширину”) и на его построение может уйти много времени. Поэтому в обработке предусмотрены ограничения максимального уровня в дереве (по умолчания – 5) и максимального числа ссылок на объект (по умолчанию – 100). Строки с объектами, для которых при поиске ссылок превышены эти ограничения, выделяются красным фоном в списке объектов и в дереве подчинённости (Рис.5, группа товаров “Шипы”).
6) Обработка предоставляет возможность удалять непосредственно объекты из списка поиска вместе со всеми подчинёнными объектами в дереве подчинённости.Перед удалением обработка требует выполнить процедуру проверки возможности удаления. Проверка возможности удаления осуществляется рекурсивно в дереве подчинённости по следующим принципам:
- Если при построении ветви дерева подчинённости превышены ограничения по уровню и числу ссылок (п. 4), то считается, что всю эту ветвь объектов удалять нельзя (поскольку она может оказаться не полной).
- Обязательным условием возможности удаления выше стоящего в дереве подчинённости объекта является возможность удаления всех ниже лежащих.
- Сама возможность удаления объекта определяется по его статусу: помечен он на удаление или нет, проведён или нет.
По умолчанию можно удалять только помеченные на удаление объекты. Но в обработке имеются флаги, снимающие это ограничение:
- — удалять не проведённые документы как помеченные объекты (Рис.8);
- — удалять все непомеченные объекты (Рис.9);
- — удалять все объекты (помеченные и не помеченные) кроме проведенных документов (Рис.13);
Этими флагами следует пользоваться осторожно. При их установке выводятся соответствующие предупреждения.
7) Удаление каждой ветви объектов в дереве подчинённости выполняется в отдельной транзакции. При неудаче удаления хоть одного объекта в ветви (из-за блокировок или при повторной проверке возможности удаления по его статусу) – откатывается удаление всей ветви. В обработке есть флаг, включающий режим удаления всех ветвей дерева объектов в единой транзакции (по соображениям безопасности устанавливается по умолчанию в разделённом режиме).
8) При клике в списке поиска в колонке со статусом объекта можно просмотреть причину, по которой нельзя удалить объект (Рис.10). Успешно удалённые объекты выделяются в списке и дереве красным шрифтом на светло-жёлтом фоне (Рис.11).
9) У обработки имеется «пакетный» режим исполнения (Рис.12), в котором после подтверждения последовательно выполняются все три этапа действий:
поиск ссылок, проверка возможности удаления и само непосредственное удаление.
10) Обработка предоставляет для других модулей сервис автоматического выполнения поиска ссылок и удаления объектов. При этом в обработку через параметр формы передаётся список объектов для поиска ссылок, параметры поиска ссылок и контроля возможности удаления.
Назад обработка через параметр формы возвращает статистику выполнения: время выполнения каждого из этапов, число удалённых и не удалённых по разным причинам объектов. Подробнее смотрите в примере использования.
Подробное описание возможностей обработки можно вывести в табличный документ, нажав на кнопку ‘Описание’ (что со знаком вопроса, Рис.7).
Назначение обработки:
1) Основное применение – расчистка мусора в базах данных, создаваемого пользователями.
2) Также обработка удобна для анализа того, где используется выбранный объект. Это бывает полезно при исправлении ошибок пользователей при вводе данных.
Пример использования в “автоматическом” режиме:
С помощью этой обработки успешно решена задача расчистки справочника “Контрагенты”, как говорится, в тяжёлом случае:
- Всего в справочнике было примерно 11500 элементов.
- Реально используемых контрагентов со статусом “Действующий” было около 4500.
- Все остальное – помеченный на удаление “мусор” со статусом “Удалённый” (двойники по ИНН и просто с незаполненными реквизитами).
- Некоторые из “удалённых” контрагентов “светились” в документах прошлых лет (в том числе в проведённых).
В результате выполнения очистки осталось около 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).
Каждый заинтересованный член сообщества вправе вносить в обработку изменения при сохранении информации об авторстве в её описании.
Благодарности:
- Выражаю огромную благодарность всему сообществу 1CPP и родственным проектам. Их совместными усилиями смерть 1С-7.7 откладывается на неопределённое время.
- Также хочется сказать спасибо всем коллегам по своей (увы уже бывшей) компании за плодотворное сотрудничество, длившееся более четырёх лет.
И так, предлагаю на суд общественности очередной «велосипед» (№1 из трёх) :))))) …
… Надеюсь он выделится в ряду аналогичных и понравится народу.
Лично мне он пригодился не раз (и по мелочи, и по крупным делам).
(1) Очень сжатое описание: «можно выполнять с объектом различные действия… Есть различные режимы контроля …»
Хотелось бы подробнее, с картинками!
Хотелось бы подробнее, с картинками!
так на то и анонс, что там все сжато ;))))))))))))
читаем дальше…
…. а картинок там в конце аш целых 12
(3) Слона-то я и не заметил!
нужная разработка, спасибо
Согласен!
Кусты получились высокие ;)))))))))))))))))
Из-за них его нифига не видать.
(0) Коллега, в инструкцию по применению Вы, наверное, забыли добавить :
«Запускать только, надев ОЗК (общевойсковой защитный комплект) и в бетонном бункере» :):):)
А если серьезно, то — большой плюс !!! Очень мощный инструмент!
абалдеть, вот это комбайн! Это ж сколько времени на него было угрохано?!
(8) ander_, это не комбайн, а велосипед ;))))))
времени потачено довольно много,
но что только не зделаешь из любви к искусству!
Всем доброго времени суток!
‘Редактор Реквизитов’ (автор Цылёв Владислав vet7777@mail.ru) ;
Pari за обсуждение проблемы);
консоли 1CQA .
Обновлены файлы поставки:
— ObjectsCleaner_ALL.rar,
— ObjectsCleaner.rar,
— FormEx1CPP.rar,
— PlugIns.rar.
Текущие изменения:
1) В форму обработки добавлена кнопка для вывода
в табличный документ описания обработки;
2) В меню действий с объектом по клику мышью добавлена
команда открытия объекта для редактирования в обработке
3) В файле FormEx1CPP.rar выложена подправленная версия класса «Общие.Форма.Привязка»
(устранена ошибка времени выполнения, проявляющаяся в терминале,
если установлен размер окна приложения в ‘процентах от размера рабочего стола’
большое спасибо
4) В файле PlugIns.rar выложена обновленная версия
Колоссальная работа проделана. Возможно когда-нибудь пригодится.
Однозначно плюс!
И, ксати, почему велосипед?
Не согласен.
Раньше не встречал такого подхода.
А штатный инструмент для удаления объектов — просто позор!
С ним при большом количестве удалений крайне неудобно работать!
Так что 🙂 еще раз плюс!
И, ксати, почему велосипед?
Не согласен.
Раньше не встречал такого подхода.
А штатный инструмент для удаления объектов — просто позор!
С ним при большом количестве удалений крайне неудобно работать!
Так что 🙂 еще раз плюс!
Показать
Нуууу …. в том смысле велосипед,
что поделок с пожим назначением — МОРЕ!
:)))))
(13) Amel2010, на счет позора штатной обработки ты прав на все 100!!!
я щас придуряюсь — базу секвестирую …
… надо вырезать где-то 1 700 000 документов.
Решил попробывать штатную.
Она где-то часа два торговала и выдала,
что нужно удалить где-то 1 800 000 объектов (+справочники + то что остается после обрезки).
нажал проверить — и она надолго задумалась на предмет возможности удаления.
В конце рабочего дня выдала (в модальном окошке): что можно удалить столько-то, а нельзя столько-то.
Нажимаю «ОК» и она снова задумалась уже до следующего утра:
пыхтела, строила список ссылок на удаляемые объекты.
Пришел утром, и с дуру снял галку «показывать объекты, которые нельзя удалить» ….
… обработка снова задумалась, :((((((((((
Тут мое терпение лопнуло!!!
я долго с наслаждением убивал сеанс 1С-ки в планировщике задач.
а как убил — сел писать обработку,
которая будет порциями удалять любые объекты с помощью ObjectsCleaner.
мсье Вы маньяк! Снимаю перед Вами шляпу!
Так из колеса еще никто не делал вездехода 🙂
ужжж …
… целостность системы определятся самой слабой её частью … одно только прочтение требований для её работы утомляет … и настораживает (напоминает инструкцию по собиранию мебели) …
универсальность — самое глупое решение для разовых и немасшатабируемых задач ! … пророда создаёт одиноковые принципы а не универсальные решения …
впрочем … всякая ситуация требует решения .. автор её решил — остальные смотрят и восхищаются новосибирскими левшами … !!!
п.с.1.проблема многих программистов это ВЫзревание … потенция ЕСТЬ и применения НЕТ (я о глабальности) …
п.с.2.иногда расчистка агнивых конюшен приводит лишь к заполнению новым овном …
п.с.3.непосредственное удаление вещь настолько же хорошая и настолько же опасная .. хм …
… но комментс :
Всего в справочнике было примерно 11500 элементов.
Реально используемых контрагентов со статусом “Действующий” было около 4500.
Все остальное – помеченный на удаление “мусор” со статусом “Удалённый” (двойники по ИНН и просто с незаполненными реквизитами).
Некоторые из “удалённых” контрагентов “светились” в документах прошлых лет (в том числе в проведённых).
…
.. мусор составляет 60% справочника … хм … женщины, ой, БаБы — тАААк любят порядок (это я о бухах) … ))))))) …
… вотКОММЕНТвот …
…
(17) Шёпот теней,
Многобуков….
Не лень было набирать?
Думаешь, прочтение твоего каммента не утомляет?
… целостность системы определятся самой слабой её частью …
Что это за бред?
При чем тут слабые части к целостности…
Ну и т.д.
… вотКОММЕНТвот …
Рейтинг набираешь?
мсье Вы маньяк! Снимаю перед Вами шляпу!
Так из колеса еще никто не делал вездехода 🙂
—
Я знаю точно наперед,
Сегодня кто-нибудь умрет!
Я знаю кто, я знаю как…
Я не гадалка, я — МОНЯК!
;))))) Спасибо за высокую оценку!
(18)
не Amel2010,
он просто в душе не Пушкин, а Белинский.
Такие люди тоже бывают полезны…
…привлекают внимание общества. :)))))
ЗЫ (это PS ;))) )
Ради рейтинга (вернея ради $money)
я б разбил то сообщение штук на пять и
заработал бы 4 рубля вместо 80-ти копеек -))))
.. хм .. а что?! сейчас за комментарии деньги плАтят ??? …
(вопрос ради вопроса …! а не ради денег ))) ) … вотВЕДЬвот …
(21) Шёпот теней,
🙂 А то!
Ответ не ради ответа…
(22) … афигеть …
т.е. раньше «просто» болтали а теперь за «денежку» …
… уфффВОТфффу …
п.с. я то думал Вы в (18) «просто» ругаетесь … хм … теперь понятно за «что» … )))))))
… не ради «пики» ради прАвды …
(20) … эка Батюшка ВЫ на Пушкина замахнулись … впрочем за Белинского спАсиБО ! …
никто не хочет «просто» работать … сначало нужно «заклоакать» все справочники а потом с этим что-то делать … бороться и побеждать …
восхищаюсь мужеством и умениями … талантом и мастерством … опытом и настойчивостью … !!!
.. вотУЖЖЖвот …
п.с. работа по удалению объектов с пометкой на удаление — вАААщето работа пользователя … моё мнение …
… вы не моцарт а я не сальери … Все говорят: нет правды на земле. Но правды нет и — выше. …
…
(24) Шёпот теней,
Вижу ты во истину Белинский, отче российской демократии!
Выдвигайся в президенты!!! я за тебя проголосую …
… если пообещаешь отменить счета-фактуры.
;))))))))
————
никто не хочет «просто» работать … сначало нужно «заклоакать» все справочники а потом с этим что-то делать … бороться и побеждать …
————
п.с. работа по удалению объектов с пометкой на удаление — вАААщето работа пользователя … моё мнение …
————
….. ээээээээээхм, не сыпь нам соль на рану — ОНА ВСЕГДА БОЛИТ!!!
;)))))))))))))))))))))))))))
За вредность щас не дают молоко.
Случается так, что юзер дурак!
И ср*т не в унитаз, а на стульчак.
Приходится мне г*вн* отскребать,
А юзерам хочется больше н*ср*ть!
…………………..группа «Ленинград»
Всем доброго времени суток!
версия Консоли 1CQA с аналогичными исправлениями .
Обновлены файлы поставки:
— ObjectsCleaner_ALL.rar,
— ObjectsCleaner.rar,
— PlugIns.rar.
Текущие изменения:
1) Исправлен баг: не формировалось дерево документов при обработке команды меню действий со значением в ячейке таблицы результатов запроса (из-за неправильного вызова процедуры рекурсивного вывода на печать подчиненных документов).
2) В файле PlugIns.rar выложена
(25) … и чем же ТЕБЕ не угодили СчФ ??? … испЫтЫваю прАктический интерес … вотВОПРОСвот …
п.с. а за голос в призиденты спАсибо … только отменить СчФ никому не удастся ((( … хм ..зато новые ТТН появились )))
…
(28) Шёпот теней, ну как же, как же…
Каждый свободномыслящий нарродный интеллегент точно скажет, что
…..зачетная схема исчисления НДС — это ФИСКАЛЬНЫЙ ПРОИЗВОЛ, а
…..счет-фактура — есть ОРУДИЕ этого ПРОИЗВОЛА,
это однозначно !!!
Допустим МУЖИК №1 покупает что-то у МУЖИКА №2.
Ну и какая ЕМУ разница
…ну там свобода, всеобщее братство, равенство прав и все такое, что в конституциях всяких записано.
как там МУЖИК №2 платит свои налоги … по ОСН, УСН или там по ЕНВД ???
Оказывается есть (если МУЖИК №1 платит НДС)!
Нет счета-фактуры (или в счете-фактуре ноль стоит) — нет зачета НДС и
государство, таким образом, имеет налог не с «добавленной», а с «полной» стоимости (то есть с оборота ;)))) ).
Тоже самое, когда в счете-фактуре что-то не так написано, разбирательств на эту тему — уйма!
ЗЫ
Вот и получется круговая порука или попрание основных демократических прав в налоговом законодательстве:
«скованные одной цепью, связанные одной целью» :((((((((((((
и вынуждены МУЖИКИ … клонироваться,
то есть дубли самих себя создавать (как у Стругацких в «Понедельник начинается в субботу»):
Один дубль на ОСН для тех кто НДС платит, другой дубль на УСН, а третий — на вмененке сидит. ;))))))))
Разработка, видимо пригодится там, где надо наводить порядок — при отсутсвии у конфигурации/базы постоянного «хозяина», сопровождающего жизненный цикл. Там где следят за базой постоянно — такие навороченные инструменты вряд ли нужны.. 😉
(30) CheBurator, истину глаголишь!
Особенно когда этот «постоянный» хозяин один в базе работает.
;))))))
ЗЫ:
Эта обработка — в первую очередь — CLEANER — для расчистки мусора.
Чем больше база и чем больше юзеров в базе — тем больше мусора.
И когда одному постоянному «хозяину» туговато станет за всеми разгребать ….
(особенно когда мало возможностей зайти в базу в монопольном режиме для расчистки
в силу непрерывности производства)
…. тогда наверное ему будет небезполезен этот инструмент.
;))))))
Особенно когда этот «постоянный» хозяин один в базе работает.
;))))))
ЗЫ:
Эта обработка — в первую очередь — CLEANER — для расчистки мусора.
Чем больше база и чем больше юзеров в базе — тем больше мусора.
И когда одному постоянному «хозяину» туговато станет за всеми разгребать ….
(особенно когда мало возможностей зайти в базу в монопольном режиме для расчистки
в силу непрерывности производства)
…. тогда наверное ему будет небезполезен этот инструмент.
;))))))
Показать
ЗЫ-ЗЫ:
Еще один источкик мусора — косяки в данных, возникающие по разным причинам.
Иногда оказывается что объекты с косяками (неразрешимыми ссылками)
особой ценности не представляют.
И их вместо испавления лутше выборочно вычистить.
:)))))))))
(29) … хм … вот ведь …
в чЁм не согласен:
1. каждый инструмент для своего применения
2. налоги надо собирать
3. НДС один из самых эффективных налогов и эффектных
3.1.наполняемость бюджета
3.2.трудность обхода
3.3.отдельная строка
3.4.имеет экономический смысл
и т.д.
Конкретная схема обложения НДС была разработана в 1954 году французским экономистом М. Лоре, с легкой руки которого он и был введен во Франции в 1958 году. НДС начала использоваться в статистических и аналитических целях еще с конца прошлого века.
затем Дания, Германия, Америка, Турция, Израиль и далее… сейчас порядка 140 стран его используют …
В настоящее время общий механизм взимания НДС идентичен во многих странах. Как известно, плательщиками этого налога являются юридические и физические лица, занимающиеся коммерческой деятельностью. Объектами обложения выступают оборот товаров, объем произведенных работ и оказанных услуг. Необходимо отметить, что налог взимается многократно на каждом этапе производства и реализации продукции при ее движении от первого производителя до конечного потребителя. Налогооблагаемая база определяется исходя из стоимости, добавленной на каждой стадии производства и обращения, включая заработную плату с начислениями, амортизацию, проценты за кредит, прибыль и расходы общего характера (за электроэнергию, рекламу, транспорт и др.). …
ЧТО могу ещЁ скАзАть: конечно, если «мы» захламляем с такой скоростью спрАвочники и никто не несЁт за это ответственность, то НДС нам уже кажется «зверем-налогом» а «СчФ» — убийцем-документом …
насчЁт строгости: ГНИ есть продолжение государЬства и если ему, ГОСУДАРЬству, не нужно производство то почему ГНИ оно должно быть нужно !!!
… вотНДСвот …
п.с. «источник мусора» — это пользователь, бАбЫ которые за долгие годы так и не изучили и не узнали что тАкое 1С … ((( .. боюсь что такое бухгалтерия они тоже уже забыли (((
…
Пока не попробуешь — ничего не поймёшь. Поэтому надо качать и пробовать.
Пока не попробуешь — ничего не поймёшь. Поэтому надо качать и пробовать.
Ета точно. Нада пробывать,
то есть пытаться …
… и как говаривал ИВС(в известном анегдоте):
«ведь попьитка не пытка, не правда, товарисчь Берия?»
;))))))))))))))))))
Просто мощно классно
(37) xaker1C, я старался!
;)))))))))))))))))))))))
нужная разработка, спасибо большое
Всем доброе время суток!
Обновлены файлы поставки:
ObjectsCleaner_ALL.rar;
ObjectsCleaner.rar;
FormEx1CPP.rar;
PlugIns.rar;
Текущие изменения:
1) Подправлен встроенный отчет по движениям документа в обработках ObjectsCleaner и Консоль1CQA.
Устраненена зависимость алгоритма формирования отчета от объекта «ИндексированнаяТаблица», поставляемого ВК 1CPP.dll.
По возможности отчет использует индексированные таблицы. Если они не доступны (не загружена 1CPP),
то используются «запасные» варианты алгоритма через «ТаблицуЗначений».
2) В классе ‘КОП_ОбщиеФормаПривязка’ — устранены некоторые глюки при работе модальном режиме.
Всем доброго времени суток!
Обновлен файлы поставки
ObjectsCleaner_ALL.rar и
ObjectsCleaner.rar.
Текущие изменения:
1) исправленн довольно неприятный баг:
при обработке команды контекстного меню при клике по ячейке таблицы значений
независимо от выбранной команды просто открывалась форма объекта для просмотра.
2) в контекстное меню добавлены команды (для документов):
— открыть в общем журнале (отыскивается первый подходящий по своствам объкта Метаданные.Журнал(о));
— открыть список подчиненных документов;
3) Добавлена опция удаления «Удалять непомеченные < 0»;
4) Теперь для работы обработки в автоматическом режиме загрузка ВК FormEx.dll — НЕ ОБЯЗАТЕЛЬНА!
5) исравлены другие незначительные баги.
Спасибо, обработка хорошая, пока не применяли, но думаю в дальнейшем пригодится.
Спасибо! Я в экстазе! Отличная работа,действительно комбайн!!! Всем рекомендую.
(45) ray-xp,
рад стараться.
Все думаю портировать ее на 8.х да руки не доходють…
Мегареспект! Очень удобно для удаления большого количества однотипных объектов, когда нужно что-то оставить, не удаляя, а какой-то вид удалить с отбором по датам.
Отличная обработка — просто оазис!!! Я под 8-ку даже таких не видал!
Столкнулся с проблемкой.
Не работает обработка если 1С запущен в английском языке.
Нужно открыть в русском и все работает.
Спотыкается на «итзСсылки.Группировать(«ОбъектСсылка:Объект,Ссылка»,»Каунт»,1);» — ошибка » Колонка ‘Объект’ не найдена!»
(48) Alexander.Dyatchenko,
спасибо за ценное замечание!
хотя я с 1с-7.7 сейчас активно не работаю, но по возможности побыстрей
постараюсь подправить указанный недостаток.
(49)
Отличная обработка — просто оазис!!! Я под 8-ку даже таких не видал!
аналогичная обработка для 8.2 (обычное приложение):
http://infostart.ru/public/116386/
(50)
правда автор возгордился …
… и сделал обработку платной
—
ЗЫ
хочу свою обработку «портировать» для 8.1-8.2, да все руки не доходят.
(48) Alexander.Dyatchenko,
небольшое уточнение:
—
«Не работает обработка если 1С запущен в английском языке.»
—
имеется ввиду, что «Основной язык конфигурации» — Английский ???
Здравствуйте. Действительно интересная обработка. Возможностей тьма в теории. На практике есть «замусоренная» база: 110870 документов помеченных на удаление пользователями т.е. «мусор» + столько же ссылок на «мусор» созданных теми же пользователями по ошибке т.е. «ссылки-мусор» но в проведенных «нужных» документах. В обработке видим «ссылки-мусор» — удаляем эти «ссылки-мусор» руками, чтобы сохранить «нужные» документы и так 110870 раз… Или как-то иначе можно?
Очень рессурсоёмкая обработка, да и ещё проверьте файлы, моему антивирусу два файла показались заражёнными.
(54) wslalom,
1. Да, обработка тяжеловата, поскольку в ней используется рекурсивный поиск ссылок на объекты.
сама по себе эта операция «ресурсоемкая» (особенно для 7.7),
а тут она запускается рекурсивно для построения дерева подчиненности очищаемых объектов по ссылкам.
2. На счет вирусов:
проверил у себя лицензионным (обновляемым) Dr.Web-бом — все в порядке.
PS
любопытно было бы узнать на какие именно файлы жалуется ваш антивирусник???
в комплекте поставки есть пара безобидных батника
(для запуска конфигуратора 1с-77 в пакетном режиме) — наверное они вашему антивирусу чем-то не приглянулись.