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

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

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


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 След.
Из забытого прошлого
 
Индекс справочника автомобилей UPPER(code+name+MARKA)
Индекс справочника водителей UPPER(code+name+Voditel)

То есть Ф4, выбираем организацию (ее код и наименование), вводим марку авто, и должны закрепить за этой машиной основного водителя (нажимаем Ф2 и должен появиться список водителей закрепленных за этой организацией) Этих водителей мы заранее внесли в справочнике водителей.

Проверку делаем по коду (code), то есть у водителей которые должны выпадать в списке код должен совпадать с кодом организации при вводе марки авто.
Из забытого прошлого
 
:lol: Боюсь не выполнить, а нужно.

А можно еще вопросик

{||_Voditel->(SETSCOPE("UPPER(aIn[1])"))} - это 17 параметр
{||_Voditel->(SETSCOPE("UPPER()"))} - это 18 параметр
Изменено: Дмитрий Хващевский - 27.05.2010 14:10:33
Из забытого прошлого
 
А вы можете сбросить данный прг, полностью на емейл
Из забытого прошлого
 
Нужно сначала проанализировать ваш справочник.

Получается в справочнике вам дает, только код и имя того контрагента, которые являются аналитекой по счету cSch.

А где он вводится, откуда он берется и как справочник определяет, что cSch именно счет.
Изменено: Дмитрий Хващевский - 27.05.2010 13:35:38
Из забытого прошлого
 
а можно пример параметра nTag для меня. :help:
Из забытого прошлого
 
Попробовал сразу с кода - тоже самое.

Ну да ладно. Подумал, зачем мне поиск по организации, самое главное, чтобы водителей оставляла в списке только нужной организации.
Из забытого прошлого
 
_Voditel->( MAKEREFER("VODITEL","Справочник водителей",2, {" Код ","Наименование партнера"," Водитель"},{3,5,16},;
"n/w,w+/n",{"voditel"},{"aIn[5]"},"UPPER(aIn[1])",{{||FIELD->CODE},{||FIELD->NAME},{||FIELD->Voditel}},;
,,,,, ;
,,,,, ;
,,,,, ;
,'cFind$UPPER(Name)',,,, ;
,,,,, ;
,,,,, ;
,,,,, ;
,'NAME',) )


47, nOrdSeek
Из забытого прошлого
 
"NAME" тоже не помогло.

Дело в том на справочнике водителей у меня стоит 'NAME' и все ок.
Правда, сразу тоже такую ошибку выдавало, но затем как - то прошла
Из забытого прошлого
 
С поиском не получилось (у меня на 47 параметре стоит 'NAME')

С поиском по коду немного получше (cKeyVal присвоил значение "UPPER(aIn[1])), теперь она мне выдает справочник не сначала всего, а сначала позиций с нужным кодом.
Только нужно, чтобы она давала только те позиции, у которых определенный код.

Еще заметил такую особенность. Ввел новую запись, затем двигаюсь курсором на одну строку вверх, так она мне стирает на экране половина кода предыдущей позиции, затем курсором спускаюсь на эту позицию и запись появляется.
Из забытого прошлого
 
Спасибо попробую разобраться.

Еще столкнулся с такой проблемой.
При поиске в справочнике водителей по первой букве
выдает сообщение ошибка выполнения.файл не индексирован.
Была такая ошибка и при выборе партнера, но как от нее избавился не помню.
Индексация не помогает.
Из забытого прошлого
 
Можно поподробнее, немножко не понятно.
Если можно пример

Индекс в справочнике водителей - UPPER(code+name+Voditel)
Индекс в справочнике автомобилей - UPPER(code+name+marka_gos)
Изменено: Дмитрий Хващевский - 26.05.2010 16:31:41
Из забытого прошлого
 
Нужно так
_Voditel->( MAKEREFER("VODITEL","Справочник водителей",2 ;
,{" Код ","Наименование партнера"," Водитель"},;
{3,5,16}, "n/w,w+/n",{"voditel"},{"aIn[5]"},,;
{{||FIELD->CODE},{||FIELD->NAME},;
{||FIELD->Voditel}},,,,,,,,,,,,,,,,,'cFind$UPPER(Name)';
,,,,,,,,,,,,,,,,,,,,'NAME') )

А возможно ли дать проверку по коду партнера?
То есть когда ввожу автомобиль, чтобы выдавало водителей только этой организации?
Из забытого прошлого
 
Нашел свою ощибку
Из забытого прошлого
 
aHeads:={{"Введите код партнера.:","Code"}, ;
{"Наименование ........:","NAME"}, ;
{"ФИО водителя.........:","voditel"}}

Этого достаточно?
Из забытого прошлого
 
После добавления.

_Voditel->( MAKEREFER("VODITEL","Справочник водителей",2 ;
,{" Код ","Наименование партнера"," Водитель"},;
{3,5,16}, "n/w,w+/n",{"voditel"},{"aIn[5]"},,;
{{||FIELD->CODE},{||FIELD->SHORTNAME},;
{||FIELD->Voditel}},,,,,,,,,,,,,,,,,'cFind$UPPER(ShortName)';
,,,,,,,,,,,,,,,,,,,,'NAME') )

Выдает ошибка выполнения.
Переменная не существует.
Из забытого прошлого
 
Задачка усложнилась.
Итак нужно создать два справочника водителей и автомобилей.
Справочник водителей первичный. (три колонки - номер и наименование партнера и водитель этой организации)--ЭТО все работает нормально

Справочник автомобилей вторичный (пять колонок - номер и наименование партнера (вызываем справочник партнера), далее марка авто, номер путевого листа (по желанию) и основной водитель (вызываем первичный справочник водителей).

Проблема получилась с вторым справочником.
Вот код.
FUNCTION Main()
LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,aHeads,bDel,nUniMode,aRef,cFindMacro


aSet:=SAVESET()
aSetKey:=SAVESETKEY()
//открываем справочник авто
NETUSE("AVTO",LOADPATH()+"\sclad\Avto.dbf",,.F.)
//открываем справочник партнеров
NETUSE("_PARTNER",LOADPATH()+"\PARTNER.dbf",,.F.)
//открываем справочник водителей
NETUSE("_VODITEL",LOADPATH()+"\sclad\voditel.dbf",,.F.)
//задание параметров прямоугольной области
DISPBOX(2,0,23,79,( CHR( 201 ) + CHR( 205 ) + CHR( 187 ) + CHR( 186 ) + CHR( 188 ) + CHR( 205 ) + CHR( 200 ) + CHR( 186 )+' ' ),"W+/B")

nTop:=3
nBot:=22

//Заголовки над полями
cColHead:={"НАИМЕНОВАНИЕ МАРКА и ГОС. НОМЕР АВТОМОБИЛЯ ВОДИТЕЛЬ "}
//
cCurProc:={||"2"}
//Заголовки колонок реестра
aBlockCols:={{{||LEFT(FIELD->NAME,25)},-7}, ;
{{||LEFT(FIELD->marka_gos,26)},19}, ;
{{||LEFT(FIELD->voditel,25)},46}}

aHeads:={{"Введите код партнера...:","Code"}, ;
{"Наименование ..........:","NAME"}, ;
{"Марка и ГОС номер авто.:","marka_gos"}, ;
{"Номер путевого листа...:","plist"}, ;
{"ФИО водителя.......:","voditel"}}

_PARTNER->( MAKEREFER("PARTNERS","Справочник партнеров",2 ;
,{" Код ","Наименование партнера"," УНП"},;
{3,5,16}, "n/w,w+/n",{"code","SHORTNAME"},{"aIn[1]","aIn[2]"},,;
{{||FIELD->CODE},{||FIELD->SHORTNAME},;
{||FIELD->CODE_PR}},,,,,,,,,,,,,,,,,'cFind$UPPER(ShortName)';
,,,,,,,,,,,,,,,,,,,,'NAME') )

_Voditel->( MAKEREFER("VODITEL","Справочник водителей",2 ;
,{" Код ","Наименование партнера"," Водитель"},;
{3,5,16}, "n/w,w+/n",{"voditel"},{"aIn[5]"},,;
{{||FIELD->CODE},{||FIELD->SHORTNAME},;
{||FIELD->Voditel}},,,,,,,,,,,,,,,,,'cFind$UPPER(ShortName)';
,,,,,,,,,,,,,,,,,,,,'NAME') )


//Запрещение удаления в таблице
bDel:={||.T.}
//Проверка уникальности
nUniMode:=2
//Массив передаваемых переменных
aRef:={"Partners",,,,"Voditel"}
//
//bPreGet:={||aIn[1]:=' ',aIn[2]:=' ',aIn[3]:=' X '}
//Коментарий
SHADOWBOX(" F4 - Ввод новой записи F6 - Фильтр F8 - Удаление записи",23,3,23,75,"W/B")

// вызов функции
AVTO->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
aHeads,aRef,,,,;
nUniMode,bDel,,,,;
,,,,,;
,,cFindMacro,,,;
,,,,,))

//Закрываем справочник авто
AVTO->( DBCLOSEAREA() )
//Закрываем справочник партнеров
_Partner->( DBCLOSEAREA() )
//Закрываем справочник водителей
_Voditel->( DBCLOSEAREA() )

RESTSETKEY(aSetKey)
RESTSET(aSet)

RETURN NIL
Из забытого прошлого
 
В принципе нормально:
bPreGet:={||aIn[1]:=' ',aIn[2]:=' ',aIn[3]:=' '}

При вводе поля не заполнены, но если нужно подкорректировать,
то приходится набирать заново-поля тоже пустые.Немного не удобно.
Может возможно по другому???
Изменено: Дмитрий Хващевский - 25.05.2010 11:33:31
Из забытого прошлого
 
:lol: Спасибо.
Все получилось.
Уже наверное надоел, но можно еще Вопрос?
-Как сделать так, чтобы при нажатии F4 - поля были пустые, не запоминали значения полей на котором стоит курсор?
Из забытого прошлого
 
Вот такой код:
FUNCTION Main()
LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,aHeads,bDel,nUniMode,aRef,cFindMacro


aSet:=SAVESET()
aSetKey:=SAVESETKEY()
//открываем справочник авто
NETUSE("AVTO",LOADPATH()+"\sclad\Avto.dbf",,.F.)
//открываем справочник партнеров
NETUSE("_PARTNER",LOADPATH()+"\PARTNER.dbf",,.F.)
//задание параметров прямоугольной области
DISPBOX(2,0,23,79,( CHR( 201 ) + CHR( 205 ) + CHR( 187 ) + CHR( 186 ) + CHR( 188 ) + CHR( 205 ) + CHR( 200 ) + CHR( 186 )+' ' ),"W+/B")

nTop:=3
nBot:=22

//Заголовки над полями
cColHead:={" Код НАИМЕНОВАНИЕ МАРКА АВТОМОБИЛЯ"}
//
cCurProc:={||"2"}
//Заголовки колонок реестра
aBlockCols:={{{||FIELD->code},0}, ;
{{||LEFT(FIELD->NAME,24)},7}, ;
{{||LEFT(FIELD->avto,20)},32}}


aHeads:={{"Введите код партнера.:","Code"}, ;
{"Наименование ........:","NAME"}, ;
{"Марка автомобиля.....:","avto"}}

_PARTNER->( MAKEREFER("PARTNERS","Справочник партнеров",2 ;
,{" Код ","Наименование поставщика"," УНП"},;
{3,5,16}, "n/w,w+/n",{"code","SHORTNAME"},{"aIn[1]","aIn[2]"},,;
{{||FIELD->CODE},{||FIELD->SHORTNAME},;
{||FIELD->CODE_PR}},,,,,,,,,,,,,,,,,'cFind$UPPER(ShortName)';
,,,,,,,,,,,,,,,,,,,,'NAME') )

//Запрещение удаления в таблице
bDel:={||.T.}
//Проверка уникальности
nUniMode:=2
//Массив передаваемых переменных
aRef:={,,,,,,"Partners"}

// вызов функции
AVTO->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
aHeads,aRef,,,,;
nUniMode,bDel,,,,;
,,,,,;
,,cFindMacro,,,;
,,,,,))

//Закрываем справочник авто
AVTO->( DBCLOSEAREA() )
//Закрываем справочник партнеров
_Partner->( DBCLOSEAREA() )

RESTSETKEY(aSetKey)
RESTSET(aSet)

RETURN NIL

Почему то, не работает вызов справочника по F2
Изменено: Дмитрий Хващевский - 24.05.2010 17:33:10
Из забытого прошлого
 
FUNCTION Main()
LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,aHeads,bDel,aWhen,aPic,nUniMode,aRef,cFindMacro

aSet:=SAVESET()
aSetKey:=SAVESETKEY()


NETUSE("WORK",LOADPATH()+"\real\work.dbf",,.F.)
NETUSE("_PARTNER",LOADPATH()+"\PARTNER.dbf",,.F.)

DISPBOX(2,0,23,79,( CHR( 201 ) + CHR( 205 ) + CHR( 187 ) + CHR( 186 ) + CHR( 188 ) + CHR( 205 ) + CHR( 200 ) + CHR( 186 )+' ' ),"W+/B")

nTop:=3
nBot:=22

cColHead:={" Дата Номер НАИМЕНОВАНИЕ Кол-во Цена Сумма Заказчик"}

cCurProc:={||"2"}

aBlockCols:={{{||FIELD->tek_data},0}, ;
{{||FIELD->tek_nomer},9}, ;
{{||LEFT(FIELD->NAME,16)},16}, ;
{{||STR(FIELD->kol,5)},33}, ;
{{||STR(FIELD->cena,9,2)},39}, ;
{{||STR(FIELD->summa,9,2)},49}, ;
{{||LEFT(FIELD->name_p,16)},59}}


aHeads:={{"Введите дату работ.................:","TEK_DATA"}, ;
{"Введите номер документа............:","TEK_NOMER"}, ;
{"Наименование работ.................:","NAME"}, ;
{"Количество.........................:","KOL","1","1","0"}, ;
{"Цена X :","CENA","1","1","0"}, ;
{"Сумма (руб.).......................:","SUMMA"}, ;
{" Наименование контрагента..:","NAME_P"}}

_PARTNER->( MAKEREFER("PARTNERS","Справочник поставщиков",2 ;
,{" Код ","Наименование поставщика"," УНП"},;
{3,5,16}, "n/w,w+/n",{"SHORTNAME"},{"aIn[7]"},,;
{{||FIELD->CODE},{||FIELD->SHORTNAME},;
{||FIELD->CODE_PR}},,,,,,,,,,,,,,,,,'cFind$UPPER(ShortName)';
,,,,,,,,,,,,,,,,,,,,'NAME') )

bDel:={||.T.}
nUniMode:=2
aWhen:={,,,,,{||aIn[6]:=aIn[4]*aIn[5],.T.}}
aPic:={,,,,,"999999999.99"}
aRef:={,,,,,,"Partners"}

WORK->( INITLIST(nTop,nBot,cColHead,aBlockCols,cCurProc,;
aHeads,aRef,aPic,aWhen,,;
nUniMode,bDel,,,,;
,,,,,;
,,cFindMacro,,,;
,,,,,))

WORK->( DBCLOSEAREA() )
_Partner->( DBCLOSEAREA() )

RESTSETKEY(aSetKey)
RESTSET(aSet)

RETURN NIL

Это код из урока, хочу пока научится на нем затянуть код партнера в таблицу БД
Изменено: Дмитрий Хващевский - 24.05.2010 15:35:56
Из забытого прошлого
 
Задача такая:
Нужно создать в БЭСТе 4 дополнительный справочник автомобилей.
В таблице должны быть всего 3 колонки – код партнера (из справочника партнера), имя партнера и марка автомобиля. Далее при печати накладной делаем проверку кода аналитики и кода партнера в справочнике автомобилей, в итоге даем для выбора список авто.

Разработка очень схожая с темами уроков. Но вот нужно сделав один раз выбор партнера, сделать так чтобы в таблицу БД попадали код и имя партнера.
Из забытого прошлого
 
Очень нужна помощь!!!!!!!!
Из забытого прошлого
 
Еще один маленький Вопрос.\
Нужно что бы в таблицу БД попадал не только наименование заказчика, но и код по справочнику партнеров.
1 вариант. Что бы он на экран не попадал, но записался в базу
2 вариант. Что бы выбирая партнера, выводился на экран код + наименование

Не вижу в коде связь, почему в поле базы Name_p попадает наименование заказчика
Изменено: Дмитрий Хващевский - 21.05.2010 18:48:58
Из забытого прошлого
 
Большое спасибо
Из забытого прошлого
 
Урок 3.Более успешно
Но Вопрос, немного отклонился от урока.
Хочу на экране вывести заказчика

код
cColHead:={" Дата Номер НАИМЕНОВАНИЕ Кол-во Цена Сумма Заказчик"}

cCurProc:={||"2"}

aBlockCols:={{{||FIELD->tek_data},0}, ;
{{||FIELD->tek_nomer},9}, ;
{{||LEFT(FIELD->NAME,16)},16}, ;
{{||STR(FIELD->kol,5)},33}, ;
{{||STR(FIELD->cena,9,2)},39}, ;
{{||STR(FIELD->summa,9,2)},49}, ;
{{||STR(FIELD->name_p,4)},59}}
Где-то есть ошибка, вообще как работает aBlockCols
Страницы: Пред. 1 2 3 4 5 6 След.