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

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

Добавлено: 31 авг 2007, 12:09
Gali
Здравствуйте, коллеги.

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

может, кто занимался подобным - подскажите, pls, как быть.

Добавлено: 31 авг 2007, 13:13
Алексей
возможно надо сделать принудительное позиционирование. в фрм бывают такие глюки

Добавлено: 31 авг 2007, 13:35
Gali
и как его делать (это позиционирование)?

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

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

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

Добавлено: 31 авг 2007, 13:55
Алексей
оператором getfirst
например у вас таблица логическая

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

.Create view v1 from .....

... == dogovor.nrec


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

если непонятно, бросайте исходник
и проверте, что данные в том договоре действительно ЕСТЬ в базе, а то бывает... :)

Добавлено: 03 сен 2007, 13:54
Gali
... ещё один нюанс:
как узнать имя поля, которое нужно тянуть???

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

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

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



...пробовала искать в таблицах schfact и katsopr, но это ничего не дало.

Добавлено: 03 сен 2007, 22:35
edward_K
надежней отследить по журналу. А вместо конфигурирования можно пользоваться Ctrl+F4 - getifccurrentfieldname - результат будет тот же. Если таблицы в словаре нет, то значит это синоним. В бухуечете почти везде например kath, а реальные таблы могут быть совершенно разными.

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

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

а как отслеживать по журналу?

Добавлено: 04 сен 2007, 07:04
Алексей
1. это синоним.1
2. делаете изменение поля которое вас интересует, далее смотрите журнализацию и видите в каком поле поменялось значение.

Добавлено: 04 сен 2007, 07:41
Gali
получилось! спасибо :grin:
теперь я знаю что и откуда тянуть...

а дальше через getfirst?
кстати, а что делает этот оператор?

Добавлено: 04 сен 2007, 08:27
Gali
Алексей, гляньте плиз что я написала:

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

...только вот с пунктуацией тут что-то не так - при компиляции ругается то на скобки то на begin...

Добавлено: 04 сен 2007, 08:42
Алексей
может быть так

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

.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]

Добавлено: 04 сен 2007, 09:33
Gali
мне нужно получить значение спецификации к договору, которые привязаны в накладной.

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

...компиляция у меня прошла, только вот В ПЕРЕМЕННУЮ SPECIFIK вывелось значение 0000000000000000h, т.е. ничего, хотя при просмотре журнала изменений выводились конкретные значения (правда, тоже в цифровом виде)

Добавлено: 04 сен 2007, 10:26
Алексей
вы значение пытаетесь получить по таблице katsopr а getfirst делаете по dogovor

а на фига вам в печатную форму значение nrec?

Добавлено: 04 сен 2007, 10:35
edward_K
да.
спецификация вообще то лежит в spdocs. katsopr.cappdogovor - ссылка на соглашение, которое также лежит в таблице dogovor, но dogovor.cdogovor>0. Вам наверное нужно DOGOVOR.NODOC из соглашения? Вы запрос в сапорте для начала напишите раз тяжело сходу прописывать.

Добавлено: 04 сен 2007, 11:57
Gali
да, наверное, нужно DOGOVOR.NODOC из соглашения.

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