В течении 2-х лет происходят случаи, когда доки правятся и перепроводятся задним числом.
Отыскать, почему "поплыли" счета приходится программерам т.е. нам.
Какие счета изменились можно выяснить и по ОСВ, но вот на какие конкретно суммы и из каких доков?
Вот и дошел до того, что попробовал написать прогу, которая бы сравнивала архивную копию базы с текущей.
Я нахожусь в текущей, но сравнение начинается с той в которой больше доков. По моему разумению так более
вероятно, что сравню все доки.
Вызываю и сравниваю через оле все операции проведенных доков с попыткой их сравнения на идентичность
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
Поиск от одного разработчика до ИТ-команд под проект.
Обмен любыми контактами разрешён.
0% комиссии, допускаются расчёты напрямую.
Нужно открыть архив, вероятность которого на изменения близка к 100 процентам (т.е. там еще не правили задним числом). Восстановить его в другую базу, индексировать и открыть к нему путь (база должна быть рабочей). Запускаем обработку из текущей конфы (можно не монопольно) в появляющемся окне 1С выбираем базу-архив и.... Сформировать! Откликнитесь те, кто может открыть через ОЛЕ расшифровку дока в сравниваемой базе (если это возможно) на nior@mail.ru Буду очень признателен! Меня эта обработка очень выручает. Ищу через проводки операций и все изменения фиксирую. Может быть полезной, когда смены присваивают выработку себе (с других), бухи правят доки и т д. С уважением VVA!
Внешняя обработка позволяет проверить уникальность номеров всех видов документов. При проверке в базу не вносятся никакие изменения. При желании можно сделать исправление дублей номеров.
Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.
Пример реализации сверок между базами и исправления расхождений в обе стороны, из 7.7 -> в 8.3 и из 8.3 -> в 7.7 на обычных формах. Фундаментальные обработки, которые работают на постоянной основе и поддерживают идентичность данных между базами основных поставщиков и основных покупателей (их соответствие прописано в модуле). Используется Новый COMОбъект("V77.Application"), пример использования внешнего источника данных. Реализация в поступление. Поступление в поступление. Корректировка поступления в корректировку отгрузки. СчФ выданный в СчФ полученный. Исправление СчФ полученного в исправление СчФ выданного. Перенос документа Реализация 7.7 в Поступление 8, Перемещение 7.7 в Поступление 8. Акт сверки взаиморасчетов (несколько организаций). Все обработки запускаются в базе 1С Предприятие 8 (обычные формы).
Универсальная обработка 7.7, представленная здесь, до сих пор почему-то по функционалу гораздо беднее, чем общеизвестная типовая "Универсальный подбор и обработка объектов" (UNIREPS82\UniversalSelection) 8.2-8.3", мне не хватило возможности выполнить произвольный код обработчика объектов. Данная обработка "UChoice.ert" является полным аналогом "UniversalSelection", представляет собой консоль выполнения произвольного кода, позволяет делать с объектами информационной базы 1С 7.7 абсолютно все, что угодно, а не узкий, сложно настраиваемый набор команд, на мой взгляд, она существенно превосходит имеющиеся аналоги, поэтому ничем другим кроме нее я не пользуюсь.
1. Обработка позволяет совершать следующие действия над объектами:
а. СПРАВОЧНИКИ: удаление; пометка на удаление; снятие пометки на удаление.
б. ДОКУМЕНТЫ: удаление; пометка на удаление; снятие пометки на удаление; проведение; отмена проведения; выключить проводки; включить проводки.
2. Действия могут быть ограничены некоторыми условиями.
3. Существует отбор по видам объектов.
4. Есть возможность обработать подчиненные справочники.
Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже).
В обработке документов реализованы следующие действия:
Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части.
В обработке справочников реализованы следующие действия:
Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.
Плусик поставил...ОДНАКО совет:
Коли мы сравниваем две идентичные базы (Текущую и ее же архив)
то поиск ДокЗдесь в ОЛЕ базе лучше осуществлять след. образом:
Код
СтрДокЗдесь = ЗначениеВСтрокуВнутр(ДокЗдесь);
ОлеДок = База.ЗначениеИзСтрокиВнутр(СтрДокЗдесь)
Если ОлеДок.Выбран() = 1 Тогда
.........вот здесь сравнение Проведен/НеПроведен и всех реквизитов, операций и т.д.
Иначе
Сообщить("в ОЛЕ базе НЕ НАЙДЕН ДОК: " +Строка(ДокЗдесь)+" УЖОС!","!");
КонецЕсли;
Показать полностью
Если ОлеДок.Выбран() = 1 Тогда лучше наверно посадить в Попытка/Исключение, а то в ОлеДок может всякое вернуться))
в моей программе хранятся архивы за несколько лет и есть возможность сравнения рабочей базы с любым из них. Причем в отчете видны все изменения - документы, справочники и т.п.
Братья программисты! Ну давайте хоть немного делать синтаксический контроль не только текстов программ!
"В теченИИ" бывает только реки, а когда речь идет об интервале - "в течениЕ". Блин и еще слово на "Б".
P.S. Это не в обиду, информация к размышлению...
...я не программер, поэтому делаю по-другому: делаю соответсвующие/необходимые карточки счета(субконто) из 'текущей' ' и 'архивной' базы и открываю в '1С:Предприятие - Работа с файлами' через меню Файл -> Сравнить файлы.
Реквизиты документов (и справочников, естественно) можно достать через Метаданные. Впрочем, если сравнивается бэкап, лазать в Метаданные через ОЛЕ совсем не надо: список реквизитов (их Наименование и Тип) можно и по клиентской базе узнать. В ОЛЕ-сервере они должны быть такими же. Обычно ;)
И кстати, ID объекта (полученного методом ЗначениеВСтрокуВнутр() содержит и тип объекта, и его вид (последнее для документов и справочников).