CбИС++ «БИТ»
   О ПРОГРАММЕ   
   О КОМПАНИИ   
   ЗАГРУЗИТЬ   
   ДОКУМЕНТАЦИЯ   
   · Руководство пользователя 
   · СБиС news
   · Статьи
   · Функции
   ПРАЙС-ЛИСТ   
   ВАКАНСИИ   
   АВТОМАТИЗАЦИЯ ТОРГОВЛИ   
СБиС news №46 от 08.06.01

Содержание

Импорт связанных документов

В версии 1.9 появилась возможность импортировать связи не только с документами основаниями, но и с документами следствиями.

Например, есть два реестра документов: накладные и платежки. Часть платежек ссылается на накладные, и часть накладных ссылается на платежки.

В версии 1.8 при экспорте и дальнейшем импорте этих документов связи с основаниями устанавливались только для документов того реестра, который  импортировался последним, а остальные связи терялись.

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

Итак, связи успешно импортируются независимо от порядка импорта документов.

Для такого импорта/экспорта файл «sbis.io» обязательно должен содержать фрагмент «Связка1», аналогичный фрагменту «Связка2»:

+Связка1
Дата
Номер
Сумма
N п/п
Флаги
Вид связи
Комментарий
Связка2>Номер:DNUM
Связка2>Дата:DDATE
Связка2>Тема:DTHEME
Связка2>Тип документа:DTYPE
Связка2>Группа нумерации:DGRNUM

Сергей Макаров (smak@tensor.ru)

И снова новое в правах

В версии 1.9 появилась возможность поменять пароль у пользователя без ввода старого. Прежде всего, эту возможность оценят, конечно же, администраторы комплекса СБиС++ на предприятиях. Теперь, если незадачливый пользователь забудет пароль, администратору достаточно открыть список пользователей, найти нужного, нажать <F3>, <Alt+F10> и в появившемся локальном меню окна выбрать команду «Очистить пароль». Так же это очень пригодится, если администратор системы решит сменить пароль у пользователя принудительно.

А ещё появились отчёты, позволяющие зафиксировать в печатном виде практически всю настройку прав доступа в системе. Отчеты строятся из списка пользователей и списка групп пользователей.

Павел Пряда (mag@tensor.ru)

Alt+F1 в расчётных листках

Для облегчения разбора ситуаций типа – «а откуда взялась эта цифра в расчётном листке?» в версии 1.9 сделана отработка <Alt+F1> на строке расчётного листка. По этой команде:

>  для табелей показывается соответствующая должность;

>  для постоянных – исходное постоянное н/у с карточки сотрудника;

>  для приказов, нарядов, ведомостей – исходный документ;

>  для начислений/удержаний, рассчитываемых для всех – вид начисления/удержания;

>  для сохранённых по «СохранитьНУ» - тот документ, из которого сохранялось.

Дмитрий Новиков (demon@tensor.ru)

О «пропажах» в «Зарплате 1.9»

Не стало переменных «НеоблМин» и «НеоблМин12». Вместо них теперь нужно писать:

НеоблМин(МесРасчета) и НеоблМин12(МесРасчета)

Не стало переменной «Отдел». Вместо неё теперь нужно писать:

НазваниеРаздела("ФИО")

Дмитрий Новиков (demon@tensor.ru)

А знаете ли Вы, что…

…чтобы отсортировать строки расчётной ведомости задачи «Зарплата» по табельному номеру сотрудника, достаточно в отчёте в разделе описания переменных написать такую строку:

.Сортировать(Лицо,"ТабНомер");

…чтобы разбить строку (например, ФИО) по символам можно воспользоваться такой конструкцией:

объект Символы;
Разбить(ФИО,"",Символы);

Тут ключевой момент – пустая строка в качестве второго параметра функции «Разбить». После выполнения вышеприведённого фрагмента в массиве «Символы» окажется строка, разбитая посимвольно, например:

Сообщить(Символы[3]);

выведет третий символ строки.

…а чтобы получить первые три символа строки можно написать так:

Разбить(ФИО,"",Символ1,Символ2,Символ3);

Дмитрий Новиков (demon@tensor.ru)

Функция «Заменить»

Для работы со строками в версии 1.9 была добавлена функция «Заменить», позволяющая заменить в строке все вхождения указанной подстроки на другую подстроку.

Синтаксис

Заменить("Строка","Старая","Новая");

Параметры

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

Старая – подстрока, которая будет заменяться.

Новая – подстрока, на которую будет заменяться старая подстрока.

Возвращаемое значение

Результирующая строка с заменённой старой подстрокой на новую.

Примеры использования

Проставить в адресе слово «город» вместо сокращения:

Адр = Заменить(Адрес,"г.","город ");

Заменить запятые в адресе на два пробела:

Адр = Заменить(Адрес,",","  ");

Дмитрий Новиков (demon@tensor.ru)

Копирование объектов – новое в функции «Объект»

При работе с объектам в большинстве правил операций Вы на самом деле работаете со ссылками на эти объекты. Чтобы пояснить эту мысль, давайте рассмотрим такой пример:

объект Доки;
перем Н = 0;
ДляВсех(Оснований)
   Доки[Н++] = Связь;
Отладить();

Можете посмотреть по «Отладить» – все элементы массива «Доки» будут ссылаться на пустой документ. Это потому что присваивая объект «Связь» вы реально не копировали объект, а просто создавали ещё одну ссылку на объект.

Вот чтобы скопировать объект, сделали функцию «Объект», принимающую копируемый объект. То есть вот такой фрагмент:

объект Доки;
перем Н = 0;
ДляВсех(Оснований)
   Доки[Н++] = Объект(Связь);
Отладить();

…сделает, что и хотелось – на выходе имеем массив «Доки» со всеми документами-основаниями.

Только пользуйтесь этой функцией аккуратненько – поскольку создаётся новый объект можно занять всю оперативную память своего компьютера. Опять же это гораздо дольше по времени исполнения, чем просто взять ссылку на объект.

Ну и в заключение, дам-таки формальное описание функции.

Синтаксис

Объект(О);

Параметры

О – имя копируемого объекта.

Возвращаемое значение

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

Дмитрий Новиков (demon@tensor.ru)

Функция «Выборка»

Функция позволяет получить объект-запись не от таблицы, как функция «Объект(НазваниеТаблицы)», а от выборки. Потребоваться она может в достаточно сложных и редких случаях. Надеюсь со временем появятся примеры её использования, а пока же просто констатируем наличие такой функции.

Синтаксис

Выборка("Название");

Параметры

Название – название выборки, которая должна быть описана в ресурсах.

Возвращаемое значение

Ссылка на сконструированный по выборке объект.

Примеры использования

Чтобы создать объект-запись реестра «Входящие платежи», пишем так:

оДокумент = Выборка("Входящие платежи");

Подробнее, надеюсь рассказать в следующем выпуске СБиС news на примере работы с системой «клиент-банк».

Дмитрий Новиков (demon@tensor.ru)


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