<p>Оригинал статьи: <a href="http://www.it-tex.ru/index.php?id_razdel=1&id_mat=4">http://www.it-tex.ru/index.php?id_razdel=1&id_mat=4</a></p>
<p>У программистов, работающих в аудиторских фирмах или в головной
организации холдинговых структур, использующих для ведения бух. учета
конфигурацию "Бухгалтерия" , возникает проблема по сбору (возможно, для
последующего анализа) данных из разных каталогов. </p>
<p>
Если такой сбор данных нужен лишь один раз - в принципе, не так уж
сложно зайти вручную в каждую базу и запустить некую процедуру, хотя
даже и в этом случае, настоящий программист лучше два дня будет писать
код, чем в течение одного дня сто раз повторять одни и те же нехитрые
действия (запустить базу, открыть внешний отчет, нажать кнопку
"Сформировать", закрыть базу). Тем более если этот сбор данных нужно
проводить периодически. Тогда написанию программы альтернативы нет. (Ну
разве что начальство подберет сотрудника в ваш отдел на должность
"Оператор по запуску внешних отчетов 1С" : ).
</p><p>Предположим, у вас есть пятьдесят каталогов с информационными
базами, среди них есть несколько, между которыми происходят взаимные
отгрузка и оприходывание товара, и проследить нет ли расхождений
(поступление в базе X = отгрузка в базе Y ) в учете этих операций в
соответствующих базах. </p><p>
Для начала нам нужно получить список (который лучше всего оформить как
справочник в составе конфигурации) каталогов информационных баз. Если
Вы - настоящий программист, тогда Вы не будете набивать каталоги в
список, а вдруг место расположение каталогов изменится? Нужно делать
процедуру сбора сведений о каталогах. Выберем простейший вариант -
любой каталог, где есть файл 1Cv7.MD (кроме NEW_STRU) - и есть каталог
ИБ.
</p><p>
<font color="blue">
Процедура собратьФайлы(начПуть,тзФайлы)
сзКаталоги = СоздатьОбъект("СписокЗначений");
Если Прав(СокрЛП(начПуть),1)=":" Тогда
ФС.УстТекКаталог(СокрЛП(начПуть)+"\");
Иначе
ФС.УстТекКаталог(СокрЛП(начПуть));
КонецЕсли;
стр=ФС.НайтиПервыйФайл("*.
Читать всю статью: http://www.klerk.ru/soft/1c?29837