Страница 1 из 2

Вывод данных из другой таблицы при доработке отчета

Добавлено: 05 май 2005, 15:02
scanner
Нужно в реестр накладных добавить поля внешних атрибутов, которые занесены в ДО. Подскажите как это сделать, что нужно писать в прототипе, а что в нужной форме. Только если можно по подробнее, а то я в этом деле новичек.

Добавлено: 05 май 2005, 16:12
Max_Fin
Прототип не править однозначно!
Брать присоединенную форму переименовывать ее, чтоб не перекрывать стандатную.
Для получения значений внешних атрибутов есть объектные интерфейсы. ОИ отличаются по версиям Галактики. Под какую надо?

Добавлено: 06 май 2005, 05:48
scanner
Галактика 585.02

Добавлено: 06 май 2005, 12:28
Sheinina
Что-то я не поняла, зачем так сложно? А логическую таблицу в форме построить нельзя? Что-то типа
.create view T as select * from katsopr, stepdoc, basedoc, attrcat, attribut
where ((
soprnrec == katsopr.nrec and // в прототипе наверняка есть
// Nrec накладной
katsopr.cstepdoc == stepdoc.nrec and
stepdoc.cbasedoc == basedoc.nrec and
word(1102) == attrcat.cotable and
'мой атрибут' == attrcat.name and
attrcat.nrec == attribut.cat and
basedoc.nrec == attribut.crec))...
И все :)
Писала навскидку, мы пользуемся внешними классификаторами :)
И работать будет под любой версией...

Добавлено: 06 май 2005, 13:17
Max_Fin
Sheinina писал(а):Что-то я не поняла, зачем так сложно?
Ну и зря, что так зачем какие-то логические таблицы описывать, выполнять позиционирование и т.д.

Проще и эффективнее обратиться к стандатному функционалу.
Далеко ходить не надо, гляньте в стандартные отчеты Галактики, например, те где есть завязка на КПП.

Добавлено: 06 май 2005, 13:26
Max_Fin
scanner писал(а):Галактика 585.02
объектный файл ExtAttr.vih
см. в Опыте http://www.tyumbit.ru/gal_forum/viewtopic.php?t=2797

Пример использования:

Код: Выделить всё

.begin
 var iExAttr: iExtAttr;

  sMyAttr := iExAttr.sGetAttr(coBaseDoc, cBaseDoc, 'Мой атрибут');
end.
Пример проекта для компиляции make.prj

Код: Выделить всё

#include galnet.inc
end;

#include ExtAttr.vih

#make '*.frm'

Добавлено: 06 май 2005, 13:29
Max_Fin
Sheinina писал(а):Что-то я не поняла, зачем так сложно?
Куда уж проще

Код: Выделить всё

.begin 
 var iExAttr: iExtAttr; 

  sMyAttr := iExAttr.sGetAttr(coBaseDoc, cBaseDoc, 'Мой атрибут'); 
end.

Добавлено: 06 май 2005, 13:35
Max_Fin
Sheinina писал(а): attrcat, attribut
Писала навскидку, мы пользуемся внешними классификаторами :)
Внешнии классификаторы EXCLASSNAME, EXCLASSSEG, EXCLASSVAL, EXCLASSIER, ARCEXCLASSVAL
Внешнии атрибуты ATTRNAM, ATTRVAL

Добавлено: 06 май 2005, 14:26
scanner
Спасибо, обязательно попробую.

Добавлено: 06 май 2005, 15:12
Sheinina
Признаю ошибки:)
Только вот учиться не толком негде:)
Кстати, об обучении - а вытащить параметры из шаблона расчетной услуги подобным образом можно? А то у нас этих параметров аж 23, представляете, как view-ха выглядит :) Может, подскажете, господа?

Добавлено: 06 май 2005, 15:19
Max_Fin
Sheinina писал(а):Признаю ошибки:)
Только вот учиться не толком негде:)
Приезжайте к нам :)
Маврик обучит всем примудростям
Sheinina писал(а):Кстати, об обучении - а вытащить параметры из шаблона расчетной услуги подобным образом можно? А то у нас этих параметров аж 23, представляете, как view-ха выглядит :) Может, подскажете, господа?
Стандарного решения нет, но можно раз и на всегда написать самой объетный интерфейс и его использовать.

Добавлено: 06 май 2005, 15:24
Sheinina
Уж больно вы далеко:) Не отпустят:)
А объектные интерфейсы писать - это мне конкретно слабо. Программист я ... ниже среднего:)

Добавлено: 11 май 2005, 13:11
scanner
Что-то у меня ничего не получается. По совету Max_fin пишу в печатной форме #include ExtAttr.vih, а в ответ что ошибка при открытии файла, оба файла лежат в одной директории.

По совету Sheinina, тоже не получается, ругается на некоторые атрибуты.

Добавлено: 11 май 2005, 13:30
scanner
напишите плиз, желательно по конкретнее, что куда и зачем вставлять. А язык скажу я вам у галактики (VIP) - это не ВИП, а другие 3 буквы.

Добавлено: 11 май 2005, 14:56
scanner
А можно ли не описывать никакие поля и данные, а в блоке begin - end вывести то что нам нужно, например при помощи какого-то подобия SQL запроса?