CбИС++ «БИТ»
   О ПРОГРАММЕ   
   О КОМПАНИИ   
   ЗАГРУЗИТЬ   
   ДОКУМЕНТАЦИЯ   
   · Руководство пользователя 
   · СБиС news
   · Статьи
   · Функции
   ПРАЙС-ЛИСТ   
   ВАКАНСИИ   
   АВТОМАТИЗАЦИЯ ТОРГОВЛИ   
СБиС news №40 от 12.02.01

Содержание номера

Параметр FILES в Windows ME

Тем, кто не побоялся и установил на свой компьютер
очередное творение от Microsoft –
Windows ME (millennium edition),  посвящается…

Дело в том, что, как пишет об этом сам Microsoft, WindowsME не разбирает теперь config.sys, соответственно параметр FILES, указанный в данном файле, ни на что теперь не влияет. Для пользователей комплекса СБиС++ это выражается в том, что при попытке запустить СБиС выводится сообщение «Параметр FILES в CONFIG.SYS должен быть не менее XXXX!» Решается эта проблема следующим образом:

Вариант 1. Поставить win32 версию СБиС++

Вариант 2. В файле system.ini, который находится в каталоге Windows, в разделе [386Enh] нужно добавить строку: PerVMFiles=220 Ну, и перезагрузить после этого компьютер, конечно.

Дмитрий Новиков (demon@tensor.ru)

Итак, версия 1.9…

С первого февраля выпущена для ознакомления и тестирования версия 1.9 комплекса СБиС++. Так что этот и последующие выпуски СБиС ньюс будут в основном посвящены освещению новинок версии 1.9. Изложение будет, наверное, несколько хаотичным, Вы уж извините. Если же что-то будет требовать дополнительных разъяснений, обращайтесь, будем уточнять. Давайте будем более интерактивны! В общем, приступим…

sbis.exe и формат данных

Во-первых, теперь один и тот же «sbis.exe» может работать как с tbl-форматом, так и с Btrieve. Формат определяется при запуске программы по тому, файлы с каким расширением находятся в каталоге базы данных. Если же в каталоге имеются в наличии только словари, то выдаётся запрос, какой формат базы данных Вы предпочитаете.

Во-вторых, Btrieve-формат претерпел значительные изменения, целью которых было – предоставить доступ к базе данных СБиС'а извне. Теперь это можно будет осуществить при помощи магических заклинаний SQL и ODBC. Подробнее это свойство будет рассмотрено чуть позже, пока же замечу, что в версии 1.9 оставлен и старый формат Btrieve и новый (он чисто условно назван - «Pervasive.SQL»). В окончательном варианте 1.9, скорее всего, останется лишь новый формат.

В связи со всем этим хочется сделать одно очень важное замечание:

Чтобы не было мучительно больно, и во избежание непредвиденных ситуаций не стоит запускать новый СБиС на старую базу данных и старый СБиС на новую базу данных. А также помните о первом правиле лучших сбисовводов: каждой версии свой Джин! (посмотрите, как он нравится СБиС'у, в какой он форме… хм, впрочем, я отвлёкся...)

Кстати, теперь СБиС пытается определить «а ту ли базу данных мне подсунули». И если он посчитал, что не ту, выдаётся соответствующий запрос.

Переход от версии 1.8 к 1.9

Теперь несколько слов о переводе базы данных СБиС'а версии 1.8 на версию 1.9. Как и в предыдущей версии, придётся делать трёхступенчатую конвертацию – база данных конвертируется в промежуточный формат Джином, потом СБиС делает все свои дела, и, наконец, Джин перегоняет базу в окончательный формат. Конечно, имеет место быть соответствующий bat-файл.

Каталоги

Теперь в СБиС'е предполагается наличие следующих каталогов:

>  «RPT» - rpt-файлы и заплатки на оных;

>  «PRG» - prg- и hdl-файлы;

>  «FORM» - внешние формы отчётности.

Все эти каталоги могут находиться «рядом» с каталогом базы данных на сервере для общего использования.

Изменения языка СБиС++

- Пишите: «СуммаСебест»! Да, да, регистр букв важен!
«С» большое, «умма» маленькая,
«С» большое, «ебест» маленькое…
(из жизни горячей линии версии 1.9)

Достаточно много было изменено в той части СБиС'а, которая ответственна за выполнение выражений в отчётах и правилах операций. Боюсь, что к этому придётся ещё не раз возвращаться, пока же вкратце:

>  При обращении к полям базы данных регистр букв стал критичен (смотрите цитату :) ). То есть, если раньше обращение «Сумма» и «СУММА» отрабатывалось в большинстве случаев нормально, то теперь будет работать только первый вариант. Для функций, вспомогательных переменных, констант и параметров регистр букв как и раньше не важен.

>  В связи со сменой внутренней идеологии работы были изменены названия некоторых таблиц и полей  базы данных. Так «Документы» изменены на «Документ», «Лица» на «Лицо» и тд.

К сожалению, это приведёт к тому, что многие отчёты и правила операций прошлой версии придётся исправлять.

>  Появилась возможность изменять поля типа «флаги» (раньше они были доступны только для чтения). В связи с этим, если раньше флаги выглядели как строка с подсвеченными буквами, то теперь, если для установленного флага нет соответствующей буквы, то ставится «*» (звездочка). Если же флаг не установлен, ставится пробел (получается что-то вроде такого – «п к*** *»).

>  Функция «Объект», принимающая два параметра, «приказала должно жить». То есть там, где раньше было написано:

О2 = Объект(О1,"ИмяСвязи"); # устарело!  

теперь нужно написать:

О2 = 'О1.ИмяСвязи';  

>  Появилась новая функция «Связать», назначение которой – установить связь между двумя объектами. Например:

Связать(Лицо2,Лицо1);  

Соответственно, если раньше в правиле операции можно было написать:

Лицо2 = Лицо1; # устарело!  

… то теперь придётся воспользоваться предыдущей конструкцией.

>  Кроме уже существующей функции «Сохранить» в новой версии реализованы функции «Добавить» и «Удалить». Обе функции в качестве параметра принимают некоторый объект, например «Документ». Первая, как Вы уже должно быть догадались, добавляет запись, связанную с указанным объектом в базу данных, а вторая удаляет.

Применять эти функции нужно очень аккуратно, поскольку действия, ими производимые, достаточно деструктивны (особенно последнее).

>  Появилась возможность работать с текстовыми и dbf-файлами. Для этого достаточно указать при вызове функции «Объект» не имя таблицы СБиС'а, а имя файла с расширением – «txt» для текстовых файлов и «dbf» для dbf. Далее можно манипулировать функциям «Следующий», «Предыдущий», «Сохранить», «Добавить», «Удалить». Например, перенесём в текстовый файл «result.txt» названия организаций из файла «organz.dbf», у которых в адресе есть слово «Ярославль»:

 Р = Объект("RESULT.TXT");
 О = Объект("ORGANZ.DBF");
 Пока(Следующий(О))
    Если( Найти(О.ADDR,"Ярославль") )
    {
       Р.Строка = О.NAME;
       Добавить(Р);
    }  

Обратите внимание, что у объекта «Р», связанного с текстовым файлом, есть одно единственное поле с именем «Строка», в котором и находится содержимое текущей строки файла.

Пример, конечно, надуманный. Уверен, что самое в ближайшее время кто-нибудь обязательно предложит более жизненное применение этих возможностей.

Приятные мелочи

При нажатии комбинации <Ctrl+Shift+F12> в таблицах и диалогах СБиС пытается найти обработчик выборки или диалога соответственно и, если находит, открывает его для редактирования. Если же такового нет, то по запросу создаётся шаблон обработчика в файле «sbis.hdl».

Дмитрий Новиков (demon@tensor.ru)

Как говорится: To be continued…


<<< Предыдущий выпуск | Архив выпусков | Следующий выпуск >>>