|
|
|
|
·
·
·
·
|
|
|
|
|
|
|
СБиС news №33/25.01.2000
|
Журнал регистрации в новой версии
выполнен в виде таблицы (файлы 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: …” Вы выдёргиваете шнур из
розетки, но компьютер продолжает издевательски подмигивать красным, как у
пьяницы, глазом. Вам страшно! Вы в ужасе. Глаза вылезают из орбит, волосы
начинают медленно подниматься. И тут надпись на мониторе меняется на
жизнерадостное - “Поздравляем! Все Ваши данные успешно удалены!”.
Всё! Вы судорожно пытаетесь запустить СБиС и обнаруживаете, что все
реестры документов девственно пусты, отчётов нет и в помине… Вам плохо.
Вам очень плохо. Вам просто фигово. Всё! Жизнь кончилась. Вы ищете свой
старый винчестер, чтобы застрелиться, и пытаетесь затянуть витую пару на
шее.”
Фаза третья. Закрепляющая
“…Но тут, Ваше сердце наполняется непонятным теплом и
предчувствием чего-то хорошего. Пред Вами предстаёт молодой человек с
надписью “Тензор. Группа сопровождения” на груди. Он протягивает
Вам дискеты с резервной копией Вашей базы данных. Вы исполняетесь
благодарностью к нему. Вам уже видится какой-то полупрозрачный нимб над
его головой. Вы готовы целовать ему руки, ноги и дискеты. Вам опять
хорошо. Вы счастливы и благодарны за существование резервных копий вообще
и этой в частности. Вы клянётесь себе и ему, что ежедневно и ежечасно
будете создавать эти самые благословенные копии в неограниченных
количествах. Аминь…” |
<<< Предыдущий выпуск | Архив выпусков | Следующий выпуск >>>
|
|