Справочник функций ПРОФ версии

A. Расширение функциональности

A.1. Функция декодирования штрих-кодов

DecodeBarcode - функция базы данных, используемая для определения артикула по штрихкоду. Она возвращает таблицу с одной записью, по структуре аналогичную таблице SCL_CODE

Пример A.1. Пример функции DecodeBarcode для случая весовых штрихкодов

Примечание

Этот пример адресован программистам, читающих SQL

Пусть применяемый штрих-код имеет длину 13 цифровых символов, из которых первые 6 обозначают артикул товара, следующие 4 - вес товара. Тогда необходимо изменить функцию следующим образом:

        ALTER  function [DecodeBarcode](@Barcode varchar(20))
        returns @result
        TABLE (
        [ARTIC] [varchar] (20) NOT NULL ,
        [ID_SCLAD] [int] NOT NULL ,
        [PARTIA] [varchar] (20) NULL ,
        [SROK] [datetime] NULL ,
        [CODE] [int] NOT NULL ,
        [BARCODE] [varchar] (20)  NULL ,
        [KOLC] [float] NOT NULL ,
        [BAR_KIND] [int] NOT NULL
        )
        as
        begin
        --Объявляем переменные для артикула, 
        --количества и месяца производства.
        declare @artic varchar(6), 
                @kolc int
        --Вычисляем значения этих переменных 
        --из штрих-кода.
        set @artic = left( @Barcode, 6)
        set @kolc = substring(@Barcode, 7, 4)
        
        
        insert @result
        (
        [ARTIC], [ID_SCLAD], [PARTIA], [SROK],
        [CODE], [BARCODE], [KOLC], [BAR_KIND] )
        --Возвращаем только 1 запись из возможных.
        select top 1
        [cod_artic] ,
        [ID_SCLAD],
        null PARTIA,
        null [SROK],
        1 CODE,
        @Barcode,
        @kolc,
        -1 BAR_KIND
        -- Выбор из scl_artc нужен для проверки 
        -- артикула в справочнике товаров

        from scl_artc
        where cod_artic = @artic
        return
        end
        
      

 о фирме   новости   программы   цены   демо версии   дилеры   услуги   клиентам   дилерам   партнеры   форум   контакты   карта сайта   поиск   домой 
Страничка клиента
Поддержка
развернуть/свернуть
развернуть/свернуть
ЧаВо
Форум
Обучение
Пресс-релизы
Работать on-line
Заказать показ
Загрузить демо-версию

 о фирме | новости | программы | демо версии | цены | где купить | клиентам | дилерам | партнеры | карта сайта | поиск | домой 

Схема
проезда

© ООО "ФОЛИО-2000"

E-Mail: mail@folio.ru; SKYPE: ooofolio. Присоединяйтесь:

125315, Москва, ул. Асеева, 8, офис 23. (метро Аэропорт, Сокол)
тел/факс: 8(499)151-7738, 151-5760, 151-5553, 151-4401

домой