|
|
|
|
·
·
·
·
|
|
|
|
|
|
|
СБиС news №31/22.12.99
|
Как Вы уже должно быть слышали,
наконец-то увидела свет долгожданная версия 1.8 (Christmas edition).
В ближайших выпусках (боюсь, что одним листком тут не отделаешься) будет
рассказано о том, что нового появилось в этой версии. А нового-то в ней
больше, чем достаточно. Ну, что ж, начнём…
|
|
Поскольку, как я уже говорил,
изменений в новой версии выше крыши, при переходе на неё требуется
нетрадиционна конвертация бэдэ (не подумайте ничего плохого, я имел в виду
всего лишь базу данных).
В общем, в новой версии есть каталог “CNV18”, в котором
лежит файл “README.TXT”, в котором написано, как конвертировать базу
данных под версию 1.8. |
Номенклатурный
справочник |
|
|
Пожалуй, самые большие изменения
произошли в задаче “Товары и материалы”. И связано это в первую очередь с
появлением номенклатурного справочника. Схема базы теперь выглядит
примерно так:
То есть, если раньше две карточки на разных складах, по
сути относящиеся к одному и тому же товару, были связаны в лучшем случае
одинаковым номенклатурным номером, то теперь у них будет некоторая общая
часть в справочнике “Номенклатура”.
Кстати, теперь искоренено такое понятие, как
“синхронизация номенклатуры”.
К следствиям и последствиям данной нетривиальной
процедуры, я думаю мы ещё не раз вернёмся.
|
|
В справочниках лиц (организации,
сотрудники, номенклатура и тд) появилась возможность ввода параметров,
точно так же, как это было уже сделано ранее в документах.
Кроме того, параметры есть и в складской картотеке.
|
Сбор параметров по
дереву |
|
|
Параметры, установленные на группе
лиц или папке документов, доступны для всех лиц (документов), входящих в
эту группу (папку).
Кстати, в списке параметров лицa (документа)
отображаются все доступные параметры, то есть и те, что установлены на
группе (папке). Параметры, введённые именно на данной записи,
подсвечиваются более ярким цветом. |
Обработка событий в
диалогах |
|
|
В 1.8 можно для произвольного
диалогового окна написать обработчик событий.
Лирическое отступление:
Обработчик событий – некоторая функция,
реагирующая на определённый набор событий, происходящих в окне.
Итак, делается это следующим образом.
Несколько комментариев. Как видите, в функцию-обработчик
передаётся два параметра – имя события и имя поля, которое на самом деле
имеет смысл только для события “Изменение”. Функция может вернуть пустую
строку, что будет означать “всё о'кей, продолжай дальше”, или же имя поля,
в котором произошла ошибка (актуально для события “Сохранение”). В функции
доступны все поля окна диалога, как для чтения текущего значения, так и
для изменения.
Вот, в общем-то, и всё. А уж как это дело можно
использовать, покажет время и Ваша фантазия.
|
|
Аналогично обработчикам диалогов
можно описать обработчик выборки. Только в этом случае функция должна быть
такой:
функция ИмяВыборки( Событие
) { ВыборПо(Событие) { #
инициализация новой записи выбор
"Инициализация": … # вычисление
расчётных полей выбор "Расчет":
МояСумма =
Сумма*100; … #
сохранение новой записи выбор
"Создание": … # замена
существующей записи выбор
"Замена": … # удаление записи
выбор "Удаление":
… } вернуть 0; # 0 –
означает, что всё о'кей }
Как видите, в обработчик выборки передаётся только тип
события. Ну и, само собой, передаются значения всех полей текущей записи
выборки.
Наиболее вероятное использование этой возможности –
добавление рассчитываемых полей в выборку. Чтобы добавить рассчитываемое
поле нужно сделать следующее:
- Открыть в JINNEE ресурс с нужной выборкой.
- В этой выборке добавить дополнительное поле (можно несколько).
- Пишем обработчик, в котором на событие с именем “Расчет” считаем
вставленные поля.
- Запускаем и как всегда наслаждаемся.
Кстати, в одном HDL-файле можно размещать несколько
разных функций-обработчиков. |
|
В меню “Услуги” появился новый пункт
“Редактор функций”, который позволяет редактировать функции,
описанные в PRG и HDL файлы. |
Новое в редакторе
отчётов |
|
|
В редакторе отчётов появилось
несколько новых возможностей:
- Можно быстро вызвать на редактирование отчёт, от которого порождён
текущий (комбинация <Ctrl+P>).
- Можно быстро вызвать список отчётов, которые порождены от текущего
(комбинация <Ctrl+O>).
- Можно вызвать список всех доступных функций с возможностью вставки в
текст имени нужной функции (комбинация <Ctrl+I>).
- В меню отчётов, которое, например, вылезает при печати расходных
накладных, можно нажать <F3> и подредактировать отчёт перед
тем, как напечатать.
|
|
Изменился вид функции
“Отладить”.
- Теперь в ней выводится сразу список всех доступных в данный
момент переменных. Фактически то, что показывалось раньше функцией
“Отладить”, Вы увидите если зайдёте в раздел с именем “.”
(точка).
- Кроме того, теперь отображаются не только переменные, но и поля
записей. А по полям связи ещё можно и переходить.
- Комбинацией <Ctrl+Ins> можно скопировать полное имя
текущей переменной и вставить потом в редакторе отчёта или операции.
Комбинация <Ctrl+СерыйПлюс> добавляет имя к текущему
содержимому буфера обмена.
- В локальном меню окна появились команды “Прервать выполнение”
(завершает выполнение операции или отчёта) и “Выполнить выражение”
(выражение выполняется в текущем контексте).
- Поведение окна “Отладить” стало более похоже на поведение окна с
иерархическим справочником.
|
Долой блокировки в
зарплате! |
|
|
В версии 1.8 сделана попытка
избавиться от блокировок в зарплате. Теперь можно свободно вводить данные
и рассчитывать зарплату в разных месяцах.
Кстати, теперь признак “сотрудник рассчитан/закрыт
расчет” фактически хранится для каждого месяца, так что при переходе из
месяца в месяц он не сбрасывается. |
|
Функция “Длина” упразднена, теперь
её функцию выполняет функци “Размер”. То есть если раньше писали
“Длина(Название)”, то теперь нужно писать “Размер(Название)”.
|
|
Это, конечно же, не всё, но лист
закончился (слава богу!). Так что продолжение будет уже в следующем
номере. |
<<< Предыдущий выпуск | Архив выпусков | Следующий выпуск >>>
|
|