Индекс справочника автомобилей UPPER(code+name+MARKA)
Индекс справочника водителей UPPER(code+name+Voditel)
То есть Ф4, выбираем организацию (ее код и наименование), вводим марку авто, и должны закрепить за этой машиной основного водителя (нажимаем Ф2 и должен появиться список водителей закрепленных за этой организацией) Этих водителей мы заранее внесли в справочнике водителей.
Проверку делаем по коду (code), то есть у водителей которые должны выпадать в списке код должен совпадать с кодом организации при вводе марки авто.
С поиском не получилось (у меня на 47 параметре стоит 'NAME')
С поиском по коду немного получше (cKeyVal присвоил значение "UPPER(aIn[1])), теперь она мне выдает справочник не сначала всего, а сначала позиций с нужным кодом.
Только нужно, чтобы она давала только те позиции, у которых определенный код.
Еще заметил такую особенность. Ввел новую запись, затем двигаюсь курсором на одну строку вверх, так она мне стирает на экране половина кода предыдущей позиции, затем курсором спускаюсь на эту позицию и запись появляется.
Еще столкнулся с такой проблемой.
При поиске в справочнике водителей по первой букве
выдает сообщение ошибка выполнения.файл не индексирован.
Была такая ошибка и при выборе партнера, но как от нее избавился не помню.
Индексация не помогает.
Задачка усложнилась.
Итак нужно создать два справочника водителей и автомобилей.
Справочник водителей первичный. (три колонки - номер и наименование партнера и водитель этой организации)--ЭТО все работает нормально
Справочник автомобилей вторичный (пять колонок - номер и наименование партнера (вызываем справочник партнера), далее марка авто, номер путевого листа (по желанию) и основной водитель (вызываем первичный справочник водителей).
Проблема получилась с вторым справочником.
Вот код.
FUNCTION Main()
LOCAL aSet,aSetKey,nTop,nBot,cColHead,aBlockCols,cCurproc,aHeads,bDel,nUniMode,aRef,cFindMacro
//Заголовки над полями
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"}}
В принципе нормально:
bPreGet:={||aIn[1]:=' ',aIn[2]:=' ',aIn[3]:=' '}
При вводе поля не заполнены, но если нужно подкорректировать,
то приходится набирать заново-поля тоже пустые.Немного не удобно.
Может возможно по другому???
Спасибо.
Все получилось.
Уже наверное надоел, но можно еще ?
-Как сделать так, чтобы при нажатии F4 - поля были пустые, не запоминали значения полей на котором стоит курсор?
//Заголовки над полями
cColHead:={" Код НАИМЕНОВАНИЕ МАРКА АВТОМОБИЛЯ"}
//
cCurProc:={||"2"}
//Заголовки колонок реестра
aBlockCols:={{{||FIELD->code},0}, ;
{{||LEFT(FIELD->NAME,24)},7}, ;
{{||LEFT(FIELD->avto,20)},32}}
aHeads:={{"Введите код партнера.:","Code"}, ;
{"Наименование ........:","NAME"}, ;
{"Марка автомобиля.....:","avto"}}
Задача такая:
Нужно создать в БЭСТе 4 дополнительный справочник автомобилей.
В таблице должны быть всего 3 колонки – код партнера (из справочника партнера), имя партнера и марка автомобиля. Далее при печати накладной делаем проверку кода аналитики и кода партнера в справочнике автомобилей, в итоге даем для выбора список авто.
Разработка очень схожая с темами уроков. Но вот нужно сделав один раз выбор партнера, сделать так чтобы в таблицу БД попадали код и имя партнера.
Еще один маленький .\
Нужно что бы в таблицу БД попадал не только наименование заказчика, но и код по справочнику партнеров.
1 вариант. Что бы он на экран не попадал, но записался в базу
2 вариант. Что бы выбирая партнера, выводился на экран код + наименование
Не вижу в коде связь, почему в поле базы Name_p попадает наименование заказчика
Урок 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