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

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

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


Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
УРОК 7, Вывод в полях грида значения из разных таблиц
 
ЦЕЛЬ
Научиться выводить в гриде значения из разных таблиц связанных между собой
СОДЕРЖАНИЕ
1.Определяем задачу
2.Описываем кратко путь решения
3.Вносим изменения в текст программы
2.Самостоятельное задание
 
1.Определим суть задачи для примера

Итак, по данным предыдущих уроков у нас есть таблица dover.bdf
В столбец грида с названием "на получение от" попробуем выводить значения из справочника контрагентов
В таблице у нас есть поля AgentCode и Agentname
Убедимся что поле agentcode заполнено корректными значениями и очистим поле Agentname

Из справочника контрагентов (таблица partner.dbf) будем использовать поле shortname
для вывода значений в столбец грида
 
2.Кратко опишем что конкретно нам надо сделать

1.Класс метаВО boDover должен пополниться описанием метода вывода в новой колонке
2.В метод open класса boDover добавим открытие второй таблицы
3.В метод fieldlist класса boDover добавим описание новой колонки
4.Создаем метод вывода информации в колонке "На получение от " (AgentName)
 
3. Примеры изменений кода программы к раделу 2 по каждому пункту соответственно

1.
Код
ACCESS ASSIGN METHOD AGENTNAME()

2.
Код
METHOD boDover:Open()
NETUSE("my_partner","partner.dbf")
my_partner->(ORDSETFOCUS("CODE"))
RETURN ::clsMetaBO:Open("user\dover\dover.dbf")

3.
Код
METHOD boDover:FieldList()
LOCAL s
   s:= ;
   "NUMDOC;1;6;0;;Номер доверенности;"+;
   "agentname;1;60;0;;наименование контрагента"
RETURN s

4.
Код
 METHOD boDover:Agentname(value)
    Local s:=Space(60)
   IF ::DS:FieldValue("AgentCode") <> NIL
      IF my_partner->(DBSEEK(UPPER(::DS:FieldValue("AgentCode"))))
         s:=my_partner->shortname
      ENDIF
   ENDIF
RETURN s


5.Собираем, смотрим
Пробуем вместо S в п.4 поставить значение "tratata"
Пробуем сделать в колонку для которой нет поля в dover
 
4. Задание
В столбец " на кого выдана" Вывести фамилии из справочника сотрудников
Страницы: 1
Читают тему (гостей: 1)