CбИС++ «БИТ»
   О ПРОГРАММЕ   
   О КОМПАНИИ   
   ЗАГРУЗИТЬ   
   ДОКУМЕНТАЦИЯ   
   · Руководство пользователя 
   · СБиС news
   · Статьи
   · Функции
   ПРАЙС-ЛИСТ   
   ВАКАНСИИ   
   АВТОМАТИЗАЦИЯ ТОРГОВЛИ   
СБиС news №33/25.01.2000
  • Журнал регистрации
  • Выполнение макроса из правила операции
  • Выполнение выражения по нажатию кнопки
  • Расчет сумм по нескольким начисления/удержаниям
  • Очередной ужастик или сеанс кодирования

    Этот (уже третий по счёту и, скорее всего, не последний!) номер опять посвящён новинкам версии 1.8. На этот раз попробуем рассказать об этих самых новинках чуть подробнее…

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

    Журнал регистрации в новой версии выполнен в виде таблицы (файлы log.tbl или log.bdf) в отличие от предыдущих версий, где был текстовый файл message.tmp. Это позволяет просматривать его, не выходя из СБиСа. Просмотр журнала вызывается в задаче “Баланс и анализ”, путь по меню: “Услуги/База данных/Журнал регистрации”. Все возможности работы с таблицами – выбор, сортировка, изменение колонок и т.д. доступны. Вы можете отобрать все изменения по одному пользователю, по одной таблице или все удаления за данный период времени.

    Для быстроты работы журнала строки в нем не сортируются. Записи показываются в порядке их добавления за всю историю ведения журнала. Если при работе в сети время на Ваших станциях рассогласовано, это может вызвать неудобства при просмотре.

    Реализация журнала в виде таблицы привело к появлению некоторых особенностей в работе СБиСа. Во-первых, при сохранении и восстановлении базы данных сохраняется и журнал. То есть его состояние на момент восстановления будет такое же, как и на момент сохранения. Записи, сделанные в период между сохранением и восстановлением, будут потеряны. Во-вторых, при интенсивной работе нескольких пользователей может появиться замедление. Это связано с необходимостью синхронизации доступа при записи в журнал. Если замедление будет значительно, можно ограничить полноту ведения журнала только записями о регистрации. Если в конфигурации системы поставить флажок “Упрощенный журнал регистрации”, то в него будут заноситься данные только о входе пользователей. Интенсивность записи в журнал уменьшится и производительность возрастет.

    Кстати, в версии 1.7 при выборе пункта “Войти с другим именем” запись о регистрации не делалась. Сейчас эта “особенность” исправлена.

    Новый формат журнала содержит два служебных поля: “Выборка” и “Ключ”. Они используются для ведения автоматического импорта/экспорта. Автоматический импорт/экспорт – новая возможность версии 1.8. Она реализована на основе обычного импорта/экспорта и на новых возможностях журнала регистрации. Но подробнее об этом – в следующих номерах.

    Михаил Сергеев

     

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

    В качестве эксперимента, а также, идя навстречу пожеланиям многих пользователей, в версии 1.8 была введена функция, позволяющая инициировать выполнение макроса. Функция эта так и называется – “ВыполнитьМакрос” (кто бы мог подумать!) В качестве параметра ей передаётся имя макроса. То есть, чтобы выполнить макрос с именем “СТАРТ” нужно написать так:

    ВыполнитьМакрос(”СТАРТ”);

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

    ВыполнитьМакрос(”СТАРТ”);
    Проводка(Д00,К00,Сумма);

    … то макрос с именем “СТАРТ” начнёт выполняться уже после формирования проводок.

    Отсюда, кстати, следует и ещё одно ограничение. Если в ходе выполнения операции функция “ВыполнитьМакрос” вызывалась несколько раз, то будет выполняться тот макрос, чьё имя было указано в последнем вызове.

    Зачем может понадобиться данная функция в реальной практике пока не совсем понятно. Хотя, как показывает наш многолетний опыт, наши хитроумные пользователи найдут применение для всего, причём в самых что ни на есть извращённых формах. Можно, например, попробовать напечатать документ при его закрытии, строить подряд несколько отчётов и тд. В общем, дерзайте, экспериментируйте, пробуйте и пишите о своих удачных экспериментах!

     

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

    Опять же в 1.8 реализовано предложение, проскочившее в своё время в дискуссионном клубе на www.sbis.ru Теперь в свойствах кнопок меню и диалога можно указать тип действия – “Выполнить выражение” и, конечно, само выполняемое по нажатию кнопки выражение.

    Например, хотите Вы, чтобы по выбору некоторого пункта в меню, Вам сообщалось сальдо на счёте. Достаточно написать такое выражение:

    ДатКнц = ТекДат; Сообщить(СКД50);

    Можно, конечно, придумать и более сложные примеры.

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

     

    Расчет сумм по нескольким начисления/удержаниям Следующий раздел Предыдущий раздел В начало страницы

    В задаче “Расчет зарплаты” есть серия функций, которые в качестве параметра принимают имя вида начисления/удержания. Например, к этой категории относится функция “ЗаГод (“Имя”)”. В версии 1.8 эти функции в качестве параметра могут принимать не только одно имя вида, а сразу несколько, разделённых либо плюсом, либо минусом. Соответственно будет возвращаться либо сумма, либо разность указанных видов начислений/удержаний.

    Конечно, понятно, что Вам ничего пока не понятно, но это, в общем-то, и нормально. Давайте рассмотрим это дело на примерах, и всё сразу станет понятно. Например, раньше писали так:

    Сумма = ЗаГод(”НАЧ”)-ЗаГод(”СОВМ”)+ЗаГод(”ПРЕМ”);

    А теперь можно написать так:

    Сумма = ЗаГод(”НАЧ-СОВМ+ПРЕМ”);

    Результат выполнения обоих выражений в версии 1.8 и выше будет одинаков.

    И тут-то по сценарию Вас должен посетить законный вопрос: “А на… в общем, зачем всё это нужно?” Действительно особо глубокого смысла во всём этом нет. Сделано всё это было только из соображений ускорения расчёта зарплаты и построения отчётов. Ну и, кроме того, новая запись компактнее. Так что пользуйтесь, если найдёте удобным!

     

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

    В очередной раз в очередной организации (не будем называть имен, думаю им и без того плохо) произошёл несчастный случай – рухнул жёсткий диск, погребя под собой в частности базу данных СБиС'а. Причём резервных копий базы данных, как Вы сами понимаете (а зачем они?) у них не было. А год кончается, а отчёты нужно сдавать…

    Поскольку все прошлые наши потуги (смотрите, например, 20-ый выпуск СБиС news) приучить пользователей создавать резервные копии базы данных были, мягко говоря, неэффективны, предлагаю применить кардинально новый способ – кодирование. Итак…

    Во-первых, сядьте поудобнее, прикройте веки, расслабьтесь, одежда не должна стеснять Ваши движения. Лучше всего, если Вы найдёте сообщника и весь последующий текст он(она) прочитает Вам вслух проникновенно-загробным голосом.

    Фаза первая. Расслабляющая

    “Вы расслаблены, Вам хорошо. Только что Вы подготовили и ввели в СБиС плюс-плюс все первичные документы, проверили все остатки по счетам и на складе, отладили построение отчётов. Всё готово к сдаче готовой отчётности. Вы устали, но довольны собой и окружающими. Вам хорошо. Вам очень хорошо. Вы счастливы…”

    Фаза вторая. Ужасающая

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

    Для пущего эффекта желательно начало фазы сопроводить каким-нибудь громким и резким звуком, например, уронить пару-тройку кастрюль на бетонный пол.

    “…И вдруг (БАМ!) Ваш компьютер зависает!!! Огонёк на системном блоке начинает лихорадочно мигать красным цветом (причём раньше он светился исключительно зелёным). Вы в ужасе тянетесь к клавише Reset. Она не нажимается!!! На мониторе появляется ехидная надпись “Форматируется диск C: …” Вы выдёргиваете шнур из розетки, но компьютер продолжает издевательски подмигивать красным, как у пьяницы, глазом. Вам страшно! Вы в ужасе. Глаза вылезают из орбит, волосы начинают медленно подниматься. И тут надпись на мониторе меняется на жизнерадостное - “Поздравляем! Все Ваши данные успешно удалены!”. Всё! Вы судорожно пытаетесь запустить СБиС и обнаруживаете, что все реестры документов девственно пусты, отчётов нет и в помине… Вам плохо. Вам очень плохо. Вам просто фигово. Всё! Жизнь кончилась. Вы ищете свой старый винчестер, чтобы застрелиться, и пытаетесь затянуть витую пару на шее.”

    Фаза третья. Закрепляющая

    “…Но тут, Ваше сердце наполняется непонятным теплом и предчувствием чего-то хорошего. Пред Вами предстаёт молодой человек с надписью “Тензор. Группа сопровождения” на груди. Он протягивает Вам дискеты с резервной копией Вашей базы данных. Вы исполняетесь благодарностью к нему. Вам уже видится какой-то полупрозрачный нимб над его головой. Вы готовы целовать ему руки, ноги и дискеты. Вам опять хорошо. Вы счастливы и благодарны за существование резервных копий вообще и этой в частности. Вы клянётесь себе и ему, что ежедневно и ежечасно будете создавать эти самые благословенные копии в неограниченных количествах. Аминь…”

     


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