CбИС++ «БИТ»
   О ПРОГРАММЕ   
   О КОМПАНИИ   
   ЗАГРУЗИТЬ   
   ДОКУМЕНТАЦИЯ   
   · Руководство пользователя 
   · СБиС news
   · Статьи
   · Функции
   ПРАЙС-ЛИСТ   
   ВАКАНСИИ   
   АВТОМАТИЗАЦИЯ ТОРГОВЛИ   
СБиС news №31/22.12.99
  • 1.8! Ну, наконец-то!!!
  • Конвертация БД под 1.8
  • Номенклатурный справочник
  • Параметры в лицах
  • Сбор параметров по дереву
  • Обработка событий в диалогах
  • Обработчик выборки
  • Редактор функций
  • Новое в редакторе отчётов
  • Функция “Отладить”
  • Долой блокировки в зарплате!
  • Длина стала размером
  • To be continued…
  •  1.8! Ну, наконец-то!!! Следующий раздел Предыдущий раздел В начало страницы

    Как Вы уже должно быть слышали, наконец-то увидела свет долгожданная версия 1.8 (Christmas edition). В ближайших выпусках (боюсь, что одним листком тут не отделаешься) будет рассказано о том, что нового появилось в этой версии. А нового-то в ней больше, чем достаточно. Ну, что ж, начнём…

     

     Конвертация БД под 1.8 Следующий раздел Предыдущий раздел В начало страницы

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

    В общем, в новой версии есть каталог “CNV18”, в котором лежит файл “README.TXT”, в котором написано, как конвертировать базу данных под версию 1.8.

     

     Номенклатурный справочник Следующий раздел Предыдущий раздел В начало страницы

    Пожалуй, самые большие изменения произошли в задаче “Товары и материалы”. И связано это в первую очередь с появлением номенклатурного справочника. Схема базы теперь выглядит примерно так:

    схема связей с номенклатурой

    То есть, если раньше две карточки на разных складах, по сути относящиеся к одному и тому же товару, были связаны в лучшем случае одинаковым номенклатурным номером, то теперь у них будет некоторая общая часть в справочнике “Номенклатура”.

    Кстати, теперь искоренено такое понятие, как “синхронизация номенклатуры”.

    К следствиям и последствиям данной нетривиальной процедуры, я думаю мы ещё не раз вернёмся.

     

     Параметры в лицах Следующий раздел Предыдущий раздел В начало страницы

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

    Кроме того, параметры есть и в складской картотеке.

     

     Сбор параметров по дереву Следующий раздел Предыдущий раздел В начало страницы

    Параметры, установленные на группе лиц или папке документов, доступны для всех лиц (документов), входящих в эту группу (папку).

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

     

     Обработка событий в диалогах Следующий раздел Предыдущий раздел В начало страницы

    В 1.8 можно для произвольного диалогового окна написать обработчик событий.

    Лирическое отступление:

    Обработчик событий – некоторая функция, реагирующая на определённый набор событий, происходящих в окне.

    Итак, делается это следующим образом.

    • создается файл с произвольным именем и с расширением “.HDL”, файл должен находится там же, где и PRG-файлы.
    • в этом файле мы описываем функцию, одноимённую с нужным нам диалогом, примерно следующего вида:

      функция ИмяОкна( Событие, Поле )
      {
         ВыборПо(Событие)
         {
            # открытие окна
            выбор "Инициализация": …
            # изменение поля с именем Поле
            выбор "Изменение":
               если( Поле=="Сумма" ) …
            
      # нажатие кнопки сохранить
            выбор "Сохранение": …
         }
         вернуть ИмяПоля;
      }

    Несколько комментариев. Как видите, в функцию-обработчик передаётся два параметра – имя события и имя поля, которое на самом деле имеет смысл только для события “Изменение”. Функция может вернуть пустую строку, что будет означать “всё о'кей, продолжай дальше”, или же имя поля, в котором произошла ошибка (актуально для события “Сохранение”). В функции доступны все поля окна диалога, как для чтения текущего значения, так и для изменения.

    Вот, в общем-то, и всё. А уж как это дело можно использовать, покажет время и Ваша фантазия.

     

     Обработчик выборки Следующий раздел Предыдущий раздел В начало страницы

    Аналогично обработчикам диалогов можно описать обработчик выборки. Только в этом случае функция должна быть такой:

    функция ИмяВыборки( Событие )
    {
       ВыборПо(Событие)
       {
          # инициализация новой записи
          выбор "Инициализация": …
          # вычисление расчётных полей
          выбор "Расчет":
             МояСумма = Сумма*100;
             …
          # сохранение новой записи
          выбор "Создание": …
          # замена существующей записи
          выбор "Замена": …
          # удаление записи
          выбор "Удаление": …
       }
       вернуть 0;
    # 0 – означает, что всё о'кей
    }

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

    Наиболее вероятное использование этой возможности – добавление рассчитываемых полей в выборку. Чтобы добавить рассчитываемое поле нужно сделать следующее:

    1. Открыть в JINNEE ресурс с нужной выборкой.
    2. В этой выборке добавить дополнительное поле (можно несколько).
    3. Пишем обработчик, в котором на событие с именем “Расчет” считаем вставленные поля.
    4. Запускаем и как всегда наслаждаемся.

    Кстати, в одном HDL-файле можно размещать несколько разных функций-обработчиков.

     

     Редактор функций Следующий раздел Предыдущий раздел В начало страницы

    В меню “Услуги” появился новый пункт “Редактор функций”, который позволяет редактировать функции, описанные в PRG и HDL файлы.

     

     Новое в редакторе отчётов Следующий раздел Предыдущий раздел В начало страницы

    В редакторе отчётов появилось несколько новых возможностей:

    1. Можно быстро вызвать на редактирование отчёт, от которого порождён текущий (комбинация <Ctrl+P>).
    2. Можно быстро вызвать список отчётов, которые порождены от текущего (комбинация <Ctrl+O>).
    3. Можно вызвать список всех доступных функций с возможностью вставки в текст имени нужной функции (комбинация <Ctrl+I>).
    4. В меню отчётов, которое, например, вылезает при печати расходных накладных, можно нажать <F3> и подредактировать отчёт перед тем, как напечатать.
     

     Функция “Отладить” Следующий раздел Предыдущий раздел В начало страницы

    Изменился вид функции “Отладить”.

    1. Теперь в ней выводится сразу список всех доступных в данный момент переменных. Фактически то, что показывалось раньше функцией “Отладить”, Вы увидите если зайдёте в раздел с именем “.” (точка).
    2. Кроме того, теперь отображаются не только переменные, но и поля записей. А по полям связи ещё можно и переходить.
    3. Комбинацией <Ctrl+Ins> можно скопировать полное имя текущей переменной и вставить потом в редакторе отчёта или операции. Комбинация <Ctrl+СерыйПлюс> добавляет имя к текущему содержимому буфера обмена.
    4. В локальном меню окна появились команды “Прервать выполнение” (завершает выполнение операции или отчёта) и “Выполнить выражение” (выражение выполняется в текущем контексте).
    5. Поведение окна “Отладить” стало более похоже на поведение окна с иерархическим справочником.
     

     Долой блокировки в зарплате! Следующий раздел Предыдущий раздел В начало страницы

    В версии 1.8 сделана попытка избавиться от блокировок в зарплате. Теперь можно свободно вводить данные и рассчитывать зарплату в разных месяцах.

    Кстати, теперь признак “сотрудник рассчитан/закрыт расчет” фактически хранится для каждого месяца, так что при переходе из месяца в месяц он не сбрасывается.

     

     Длина стала размером Следующий раздел Предыдущий раздел В начало страницы

    Функция “Длина” упразднена, теперь её функцию выполняет функци “Размер”. То есть если раньше писали “Длина(Название)”, то теперь нужно писать “Размер(Название)”.

     

     To be continued… Следующий раздел Предыдущий раздел В начало страницы

    Это, конечно же, не всё, но лист закончился (слава богу!). Так что продолжение будет уже в следующем номере.

     


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