СБиС news №53 от 17.04.02
Цитата номера
Если СБиС++ у вас работает быстро и без ошибок, бухгалтера не "достают" вас своими
просьбами и жалобами, дискеты всегда читаются, и архивные копии восстанавливаются,
компьютеры не "виснут", и сервер не "падает", скажите "Нет!" наркотикам.
Адресные данные сотрудников
В версии СБиС++ 1.9.054 и позже в адресе сотрудника в качестве
разделителя города и населенного пункта стал использоваться символ «\»
вместо «/». Такое изменение было вызвано тем, что в названии некоторых
городов или сокращении города уже имеется символ «/», и часть после него переносилась
в название населенного пункта. Это происходило как в экранной форме карточки
сотрудника, так и при построении отчетов в налоговую и др (2-НДФЛ).
Вместе с этим изменением в программе были изменены и
соответствующие пользовательские функции «Город()», «Пункт()» и другие,
описанные в файле otchet.prg. А также была удалена функция «Сельсовет()»,
которая больше не требуется. Функция «Сельсовет()» использовалась только в
файле cadrform.ffc, в личной карточке сотрудника, поэтому этот файл был
тоже изменен.
Итак,
если у ваших сотрудников было заполнено поле «Населенный пункт», то
потребуется конвертация адресов (замена «/» на «\»). Для этого
используется новая пользовательская функция «КонвертацияАдреса()», описанная
в otchet.prg. Для конвертации адресов нужно в справочнике сотрудников
выполнить команду поиска <Ctrl+S>, установив флаги «отметка
найденных» и «условное выражение», а в строке поиска написать: «КонвертацияАдреса()»,
и всё! В любом случае, от выполнения этой операции хуже не будет.
Объект «Итоги» в журнале лиц
Начиная со сборки
1.9.058, при печати типового журнала лиц стал доступен объект «Итоги»,
содержащий итоги по журналу лиц – фактически, те цифры, что выводятся в нижней
строке окна. Доступен этот объект уже в разделе "Начало таблицы", что иногда может быть
полезным. Например, это используется в отчёте «Условие применения регрессивной
шкалы».
ДляВсех( ДокументовЛица )
В СБиС++ версии 1.9.054 и старше введена новая функция
«ДляВсех(ДокументовЛица)». Функция эта перебирает документы по указанному лицу.
Синтаксис
ДляВсех(ДокументовЛица(Лицо,[ДатНач,[ДатКнц]]))
Параметры
Лицо (объект) – лицо, по которому перебираются документы. Перебираются все документы, в которых указано данное лицо (в поле «Лицо1», в поле «Лицо2» или в наименованиях авансового отчёта). Фактически выбираются те же документы, что показываются по справке <Alt+F1> в справочниках лиц.
ДатНач (дата) – дата, начиная с которой будут перебираться документы. Если не указана, берётся дата начала рабочего периода из конфигурации системы.
ДатКнц (дата) – дата, по которую (включительно) будут перебираться документы. Если не указана, берётся дата конца рабочего периода из конфигурации системы.
Примеры
Перебрать все документы по основному средству:
ДляВсех(ДокументовЛица(Средство,ДатНач,ДатКнц))
Сообщить( Номер+" "+ Дата+" "+
'Тип документа' );
Тормоза от AVP-монитора
Хочу ещё раз обратить ваше внимание, что на скорость работы
СБиС++ могут очень сильно влиять другие работающие на вашем компьютере программы.
Даже те, которые вроде как и не видны, сидят себе тихонечко рядом с часиками в
виде иконки. Например, в своё время был уличён драйвер принтера Canоn LBP-800, тормозящий сетевую работу на
машинах c Windows
95/98.
Сегодня же хочется сказать пару слов про AVP-монитор. Как показывает практика, он
установлен во многих организациях. И опять же, как показала практика, он
существенно «притормаживает», когда СБиС набирает отчёты для печати (например,
по F4 на накладной).
Особенно это будет заметно, если отчёты лежат на сервере. Выход достаточно
простой – отключить в AVP
мониторинг файлов на диске со СБиС’ом. Думаю, то же самое касается и других антивирусных
мониторов. В общем, обращайте внимание на то, какие программы работают на вашем
компьютере!
Кстати, антивирусные программы имеет смысл регулярно
обновлять: во-первых, появляются новые вирусы, и от старого антивируса толку
просто никакого, во-вторых, разработчики пытаются ускорить работу своих
«детищ». Хочу напомнить, что компания «Тензор» продаёт всю линейку антивирусных
программ серии AVP от Лаборатории
Касперского, так что обращайтесь!
Новый SBIS.HLP
И ещё хочется обратить ваше внимание на то, что обновился
файл sbis.hlp. Теперь в нём
находится полное и достоверное описание функций, встроенных в СБиС++. Так что
пользуйтесь и сообщайте о замеченных ошибках и неточностях!
Кстати, чтобы при просмотре текста помощи вернуться на
предыдущую страницу, достаточно нажать <Backspace> или <Alt+F1>. А ещё можно отметить блок
стрелками с нажатой клавишей <Shift> и скопировать в «карман» комбинацией <Ctrl+Ins>. Например, можно скопировать
таким образом пример использования функции, а потом вставить комбинацией <Shift+Ins> в правило
операции.
Белые наименования в приходной накладной
Очень часто спрашивают – «Что означают белые наименования в
приходных накладных?». Отвечаем. Белое наименование приходной накладной означает,
что эта партия уже полностью списана. Сделано просто для информации, ни о чём
плохом в данном случае белый цвет не сообщает.
Функция ЦенаНаДату()
Давным давно… у номенклатуры появилась история цен. Для
работы с историей цен написана функция «ЦенаНаДату», позволяющая получать цену
на нужную дату. Особенность функции состоит в том, что поиск в истории цен
производится по индексу, а не путем последовательного перебора всех записей.
Поэтому функция работает максимально быстро. Функция находится в файле sbis.prg, так что при желании можете
ознакомиться с текстом функии.
Синтаксис
ЦенаНаДату( Дата [,ВидЦены [,оТовар] ] )
Параметры
Дата (дата) – дата, на которую требуется получить цену.
ВидЦены (строка) – строка, содержащая название цены возможные
значения: «Цена1», «Цена2», «Цена3», «ПланСебест». Если параметр не указан, то
берётся «Цена1».
оТовар (объект) – запись таблицы «Номенклатура», или
«Складская картотека», или «Лицо». Если параметр не указан, то используется
контекстный объект «Товар».
Примеры
Допустим, «Цена1» – рублевая цена реализации, рассмотрим
фрагмент правила для накладной на отгрузку:
ДляВсех( Наименований )
{
СуммаЦен = ЦенаНаДату(Дата)*Кол_во;
# Цена1 на дату
...
}
Допустим, «Цена2» – валютная цена реализации, рассмотрим
фрагмент правила для накладной на отгрузку, где рублевая цена рассчитывается от
валютной цены по курсу:
ДляВсех( Наименований )
{
СуммаЦен = ЦенаНаДату(Дата,"Цена2") *
Курс * Кол_во;
...
}
В журнале документов «Журнал N3:Прайс-листы» нет
контекстного объекта «Товар», поэтому для получения цены на дату в печатной
форме этого журнала требуется явно указать третий параметр, определяющий запись
номенклатуры:
++Прайс листы----------------------------
+Строка----------------------------------
.Цена=ЦенаНаДату(ТекДат(),"Цена1",Лицо_);
Чтобы
понять, какой именно объект следует указать здесь в качестве третьего
параметра, нужно по «Отладить()» посмотреть название объекта, указывающего
на таблицу «Номенклатура». В данном случае это «Лицо_».
<<< Предыдущий выпуск | Архив выпусков | Следующий выпуск >>>
|