Печатная форма счет-фактуры

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Печатная форма счет-фактуры

Сообщение Gali »

Здравствуйте, коллеги.

у меня проблема: не могу сообразить как вытащить в печатную форму счета-фактуры поле с информацией о договоре+ № спецификации к нему (проставляются в накладной - расш. инфо).
Сам договор (номер и дату) я вытинула, а вот как быть со спецификацией к нему??? - здесь что-то не получается у меня ни как. ссылка на поле из таблицы, с которой тянется номер и дата договора ничего не даёт - выводится пустое поле... :cry:

может, кто занимался подобным - подскажите, pls, как быть.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

возможно надо сделать принудительное позиционирование. в фрм бывают такие глюки
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

и как его делать (это позиционирование)?

...я еще только учусь в области правки форм...

кстати, кто знает где взять документацию, в которой был бы описан порядок как и что делать? я имею в виду весь процесс от начала того, как узнать имя поля, которое нужно вытащить, и таблицу, в которой оно сидит.

...просто я вроде выяснила где можно взять поле, куда вытаскивается приложение с информацией, нужной мне - теперьначинаю искать эту таблицу в SQL, а её там нет.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

оператором getfirst
например у вас таблица логическая

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

.Create view v1 from .....

... == dogovor.nrec


.begin
 if  (v1.getfirst dogovor)=tsOK then {}
end.
как то так :)

если непонятно, бросайте исходник
и проверте, что данные в том договоре действительно ЕСТЬ в базе, а то бывает... :)
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

... ещё один нюанс:
как узнать имя поля, которое нужно тянуть???

меня учили так: открываешь расширенную информацию по накладной, делаешь "конфигурировать окно", встаёшь на поле, код которого нужно узнать и смотришь в окне свойств имя поля в таблице.

...только вот проблема в том, что таблицу с именем поля, которое выводится таким способом, я потом не могу найти в SQL - в списке таблиц её просто нет.

может, есть другие способы?



...пробовала искать в таблицах schfact и katsopr, но это ничего не дало.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

надежней отследить по журналу. А вместо конфигурирования можно пользоваться Ctrl+F4 - getifccurrentfieldname - результат будет тот же. Если таблицы в словаре нет, то значит это синоним. В бухуечете почти везде например kath, а реальные таблы могут быть совершенно разными.
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

по Ctrl+F4 вывелось само значение поля: "выражение" и "величина" = "спецификация №1", т.е. то, значение, которое задано в этом поле.

FieldName = APPDOGOVOR.NODOC, но таблицы APPDOGOVOR нет в списке таблиц в SQL.

а как отслеживать по журналу?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

1. это синоним.1
2. делаете изменение поля которое вас интересует, далее смотрите журнализацию и видите в каком поле поменялось значение.
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

получилось! спасибо :grin:
теперь я знаю что и откуда тянуть...

а дальше через getfirst?
кстати, а что делает этот оператор?
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

Алексей, гляньте плиз что я написала:

.Create view v1 from KatSopr, Dogovor
where
( KatSopr.CDOGOVOR = dogovor.nrec )
.begin
if (v1.getfirst dogovor)=tsOK then
{ specifik = Katsopr.CAPPDOGOVOR}
end.

...только вот с пунктуацией тут что-то не так - при компиляции ругается то на скобки то на begin...
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

может быть так

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

.Create view v1 from KatSopr, Dogovor 
where ((
       поле из прототипа    == katsopr.nrec
and  KatSopr.CDOGOVOR == dogovor.nrec
.begin 
  if (v1.getfirst dogovor)=tsOK then specifik = Katsopr.CAPPDOGOVOR;
// не понял, что вы здесь хотите сделать?  Если есть запись по договору
// то присвоить переменной нрек ссылка на приложение договора?
end.
В общем я не совсем понимаю, чего вы добиваетесь :)[/quote]
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

мне нужно получить значение спецификации к договору, которые привязаны в накладной.

по журналу я посмотрела, что при перевыборе спецификации, изменяется поле CAPPDOGOVOR в таблице Katsopr; значение этого поля я и хотела присвоить переменной specifik (ранее я её объявила с типом comp), а затем вывести эту переменную при печати.

...компиляция у меня прошла, только вот В ПЕРЕМЕННУЮ SPECIFIK вывелось значение 0000000000000000h, т.е. ничего, хотя при просмотре журнала изменений выводились конкретные значения (правда, тоже в цифровом виде)
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

вы значение пытаетесь получить по таблице katsopr а getfirst делаете по dogovor

а на фига вам в печатную форму значение nrec?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

да.
спецификация вообще то лежит в spdocs. katsopr.cappdogovor - ссылка на соглашение, которое также лежит в таблице dogovor, но dogovor.cdogovor>0. Вам наверное нужно DOGOVOR.NODOC из соглашения? Вы запрос в сапорте для начала напишите раз тяжело сходу прописывать.
Gali
Постоянный гость
Сообщения: 71
Зарегистрирован: 16 апр 2007, 11:48
Откуда: г. Кемерово
Контактная информация:

Сообщение Gali »

да, наверное, нужно DOGOVOR.NODOC из соглашения.

а что за запрос? чтобы посмотреть что вытянется?
Ответить