BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование отчетов  / Б4+ использование источника отсутствующего в стандартной поставке БЭСТ4+

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Б4+ использование источника отсутствующего в стандартной поставке БЭСТ4+, В печатной (Win-форма) нужно задействовать поле
 
Добрый день.

Программа БЭСТ4 (версия 12.01/01)SP87. Подсистема Товары. Готовая продукция

Проблема с формированием Справок А+Б. Windows-форма.
Вот в такой справке нужно задействовать вместо стандатного короткого поля Name из файла mlabel.dbf (sclad) специально добавленное поле fullname (полное наименование длинной товара 150 символов) из этого же файла sclad\mlabel.dbf.

В обычной накладной проверяется условия - заполнено ли поле fullname и если да - то наименование товара берется из этого поля, если нет, то из поля name.

Вот используемый в обычной dos-накладной код -
if(FileE val("ifname.prg",{Grup,nNum})=1,FileE val("fname1.prg",{Grup,NNum})Na)

Вопрос: как это сделать в FastReport

С уважением, Андрей Калугин
 
Киньте на диалоговую форму компонент "SQL запрос" (например Query1), в нем запрос вида "sel ect fullname fr om sclad\mlabel where grup = :pgrup and nnum = :pnnum"
параметры pgrup и pnnum назначьте из master источника (типа stroki) к которому привязан бэнд masterdata,
в поле с названием попишите скрипт

strname :='';
if trim(dialogform.query1.fullname) <> '' then strname:=dialogform.query1.fullname else
strname:=dialogform.stroki.name;

выводите [strname]
 
Большое спасибо за ответ!

Объясните, пожалуйста, поподробнее:

"параметры pgrup и pnnum назначьте из master источника (типа stroki) к которому привязан бэнд masterdata,"

я так понимаю что в инспекторе для SQL запроса я делаю так:
Active - False
DataBaseNam - DataBaseBest4
DSNAme - <используется свойство SQL>
Fields - Fields
Filter -
Name - Query1
Params - pgrup - Тип данных - String - Назначить из master источника
pnnum - Тип данных - String - Назначить из master источника

Потом в печатной форме пишу [strname]
в нижней программной части
begin
strname :='';
if trim(dialogform.query1.fullname) <> '' then strname:=dialogform.query1.fullname else
strname:=dialogform.stroki.name;
end


И в результате в печатной форме выводится слово STROKI и на этом все заканчивается.

Я понимаю, что я что-то не так указываю в Params - pgrup - Тип данных - String - Назначить из master источника
pnnum - Тип данных - String - Назначить из master источника
 
Добился того что поле выводится, только непонятно почему наименования позиции из номенклатурного справочника раньше менялось для разных позиций одной накладной - т.е. товар1 на первой странице справки А+Б, на следующей странице товар2 и т.д.

А здесь на всех страницах полное наименование такое же как на первой. Почему?

begin
strname :='';
if trim(dialogform.mlabel.fullname) <> '' then strname:=dialogform.mlabel.fullname else
strname:=dialogform.stroki.name;
end
Изменено: Андрей Калугин - 03.04.2012 17:28:34 (Уточнение вопроса)
 
Попробуй в скрипте перед strname:=''; добавить
Query1.Active:=false;
Query1.Active:=true;
 
Спасибо огромнейшее - теперь все работает!!!
Страницы: 1
Читают тему (гостей: 1)