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

Просто цитата :)

«…Сделать же нужно вот что: назначить на всякого податного, кем он ни будь, единый налог, невеликий, заранее известный и взимаемый сразу, со всех выплат, выдач, сделок и доходов. И дань эта должна не превышать одной десятой, потому что святая церковь еще со стародавних времен на богатом своем опыте проверила и убедилась: десятину человек платить согласится, а больше — ни в какую, даже под страхом кары Отца Небесного. А это значит, что и искушать нечего…»

Борис Акунин, «Пелагия и белый бульдог», Глава шестая.

Содержание

Новое в функции «ДокКопия»

В версии 1.9 была добавлена возможность указать при вызове функции «ДокКопия» дату создаваемого документа. Таким образом, в общем виде вызов функции выглядит теперь так:

ДокКопия("Тип",Номер[,Дата[,ДатаНового]]
          [,Сумма[,$Сумма]]
          [,Лицо1[,Лицо2[,"Примечание"]]]);

Тип название типа копируемого документа
Номер номер копируемого документа
Дата дата копируемого документа
ДатаНового дата нового документа, если этот параметр не указан, то берётся текущая дата
Сумма сумма нового документа
$Сумма сумма нового документа в валюте
Лицо1 Лицо1 для нового документа
(объект или строка с кодом лица)
Лицо2 Лицо2 для нового документа
(объект или строка с кодом лица)
Примечание  примечание для нового документа

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

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

Если какой-то из параметров «Сумма», «$Сумма», «Лицо1», «Лицо2», «Примечание» был опущен, то берётся соответствующее поле копируемого документа.

В качестве параметров «Лицо1» и «Лицо2» могут использоваться различные объекты («Лицо1», «Лицо2», «Наим» и т.д.), значения которых определены в документах. Кроме того, можно использовать строковые константы с кодом соответствующего аналитического объекта. Напомним, что эти коды определены следующим образом: для «Организаций» и «Частных лиц» - «ИНН», для «Аналитик» - «Имя». При этом при поиске соответствующего объекта сначала просматривается справочник аналитик, затем справочник организаций.

Дмитрий Жеглов (jeglov@tensor.ru)

Местонахождения ОС в версии 1.9

В версии 1.9 теперь хранится вся история движения ОС по местонахождениям. Теперь всегда можно построить инвентарную ведомость по местонахождениям на какую-либо дату и она покажет реальное расположение ОС на указанную дату (в отличие от версии 1.8 и младше, где при перемещении <Ctrl+M> ОС из одного местонахождения в другое информация о старом месте терялась).

В связи с этим изменилась и накладная перемещения ОС. Во-первых, она стала списочным документом, т.е. одной накладной можно передать сразу несколько ОС указанному МОЛу. Во-вторых, для каждого передаваемого ОС можно указать новое местонахождение (а можно и оставить старое). Таким образом, для того, чтобы переместить ОС из одного места в другое, нужно будет оформить накладную перемещения – перемещение ОС с помощью <Ctrl+M> запрещено.

Для того, чтобы в отчете или правиле операции получить местонахождение ОС на определенную дату везде, где встречается объект «СРЕДСТВО», можно использовать функцию «Место(дата)», где параметр «Дата» и есть желаемая дата, на которую это место хочется узнать.

Дмитрий Зафиевский (dmitry@tensor.ru)

Функция «НазваниеРаздела»

В версии 1.9 в качестве замены внешней функции «ПолныйРаздел» из файла «sbis.prg» была  сделана похожая по назначению внутренняя функция «НазваниеРаздела». Синтаксис её следующий:

НазваниеРаздела("ИмяПоля"[,"ИмяИерархии"]);

ИмяПоля имя текстового поля, которое используется для именования разделов
ИмяИерархии   имя иерархии

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

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

Тут, правда, есть одно «но». Не всегда сотрудник напрямую доступен для программы. В этому случае нужно явно указать, от какого объекта брать запись:

КакойтоСотрудник.НазваниеРаздела("ФИО");

Некоторые таблицы в СБиС’е содержат одновременно несколько иерархий. Например, складская картотека – иерархия «Склады» и «Прайс-лист». В этом случае, чтобы получить название раздела прайс-листа, нужно явно указать имя иерархии:

НазваниеРаздела("Наименование","Прайс-лист");

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

Функция «НазваниеТаблицы»

Ещё появилась функция «НазваниеТаблицы». Она возвращает имя той таблицы, в контексте которой выполняется. То есть, если в правиле операции написать:

Сообщить(НазваниеТаблицы);

…то при закрытии расходной накладной будет выдано – «Документ». Если же написать:

ДляВсех(Наименований)
   Сообщить(НазваниеТаблицы);

…то будет уже выведено – «Расход».

Чтобы получить имя таблицы для конкретного объекта, пишем так:

Сообщить(Лицо1.НазваниеТаблицы);

Ну, и в заключение, как при помощи этой функции определить тип лица:

Сообщить(Лицо1.Лицо_.НазваниеТаблицы);

Тем не менее, переменная «ТипЛица» в версии 1.9 ещё доступна.

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

Изменение флагов

Как уже говорилось в 40-ом выпуске СБиС news, в новой версии появилась возможность изменять поля типа «флаги». Делать это можно двумя путями…

Каждому флагу – своя буква

Полю присваивается строка, в которой каждому флагу соответствует свой символ в строке. Буквально по порядку: символ-флаг. Если в присваиваемой строке в соответствующей флагу позиции находится подсвеченный символ (или, если такового нет – звёздочка – «*»), то такой флаг устанавливается. Если же там будет пробел, флаг сбрасывается.

Например, чтобы в плане счетов установить, что счёт будет пассивный, пишем:

Признаки = " П";

Обратите внимание, в присваиваемой строке сначала идёт пробел – он сбрасывает флаг «Активный». А потом идёт буква «П» - ей устанавливается флаг «Пассивный».

Поимённая установка флагов

Полю присваивается строка, в которой поимённо перечислены изменяемые флаги. Если перед именем флага указан «+» (или ничего, если в начале строки), соответствующий флаг будет установлен. Если же перед названием флага указан знак «-», то флаг будет сброшен.

Например, чтобы в плане счетов установить, что счёт будет пассивный, пишем просто:

Признаки = "Пассивный";

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

Признаки = "-Активный+Пассивный";

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

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

О регистрации в 1.9

В окне «Помощь/О задаче» теперь отображается, на сколько пользователей зарегистрирована текущая база данных и сам код регистрации.

И теперь для регистрации при смене версии программы или типа базы данных всегда даётся десять дней «на раскачку».

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


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