Страница 1 из 2
Печатная форма счет-фактуры
Добавлено: 31 авг 2007, 12:09
Gali
Здравствуйте, коллеги.
у меня проблема: не могу сообразить как вытащить в печатную форму счета-фактуры поле с информацией о договоре+ № спецификации к нему (проставляются в накладной - расш. инфо).
Сам договор (номер и дату) я вытинула, а вот как быть со спецификацией к нему??? - здесь что-то не получается у меня ни как. ссылка на поле из таблицы, с которой тянется номер и дата договора ничего не даёт - выводится пустое поле...
может, кто занимался подобным - подскажите, 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
получилось! спасибо
теперь я знаю что и откуда тянуть...
а дальше через 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 из соглашения.
а что за запрос? чтобы посмотреть что вытянется?