В основном актуально для тех, кто занимается клиент-банками. Может быть такая систуация, когда банк обновляет свою программу. И хорошо написанная обработка для 1С вдруг не катит. Причина: Вдруг банк начал принимать файлы не в *.dbf формате, а в *.csv формат. Что же делать? На выручку приходит OLE.
По сути. Данный скрипт имитирует хорошо известный XBase. (Ну почти... только самое необходимоя, и то для чтения... Пока... Может уважаемый читатель захочет добавить и запись... Тогда прошу смелее, ну или в новой версии будет...)
А именно:
ОткрытьФайл - как XBase
КодоваяСтраница - как XBase (типа "Оставлена для совместимости")
Первая - как XBase
Следующая - как XBase
вКонце - как XBase
ЗакрытьФайл - как XBase
Открыта - как XBase
КодОшибки - как XBase (тока: "Пишет строку исключения")
НомерЗаписи - как XBase (че то не пашет ззззз)
ЗаписьУдалена - как XBase (Пока заглушка)
Версия - Это новенькое от души
Поле - Ну не придумали еще Microsoft в своих скриптах динамическое формирование свойств. Что делать ума не приложу!!!
Пример кода (условно):
//ФайлБД = СоздатьОбъект("XBase"); типа для наглядности, как я заменил
ФайлБД = СоздатьОбъект("Crym69.CSVBase");
ФайлБД.ОткрытьФайл(Путь,,1);
ФайлБД.Открыта();
ФайлБД.КодоваяСтраница(2-Кодировка);
ФайлБД.Первая();
Пока (ФайлБД.вКонце() = 0) Цикл
Если ФайлБД.ЗаписьУдалена() = 1 Тогда
ФайлБД.Следующая();
Продолжить;
КонецЕсли;
ФайлБД.Поле("МФО банка"); // даже с пробелами и на русском понимает
ФайлБД.Следующая();
КонецЦикла;
ФайлБД.ЗакрытьФайл();
Ну, пожалуй, все...
С ув. Crym69...