В течении 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 объекта (полученного методом ЗначениеВСтрокуВнутр() содержит и тип объекта, и его вид (последнее для документов и справочников).