Имя выходной формы.
Модераторы: m0p3e, edward_K, Модераторы
Имя выходной формы.
Подскажите пожалуйста, как привязать имя файла выходной формы отчета (например накладной) к номеру накладной. Т.е. нужно чтобы каждая накладная (после печати) сохранялась под уникальным именем . Заранее спасибо за любую консультацию.
Re: Имя выходной формы.
Просто никак...
Сложно:
1. Модифицировать интерфейс накладных.
2. Написать свой интерфейс вызываемый из формы накладной.
3. Попробовать поработать с объектом file. Например функцией:
4.1.1. Функция CopyMoveFile (String, String, Boolean) : Boolean
Назначение
Функция копирует или перемещает (если параметр IsDel = True) файл с именем From в файл с именем To. Возвращает True при успешном выполнении операции.
Описание
function CopyMoveFile (From,To : String; IsDel : Boolean) : Boolean;
Параметры
From : String - имя копируемого или перемещаемого файла.
To : String - имя файла, в который копируется или перемещается файл From.
IsDel : Boolean - если IsDel = True, то файл перемещается, иначе - копируется.
Возвращаемое значение
Функция возвращает логическую истину True при успешном выполнении операции.
===========
3 скорее просто... Если получится конечно, т.к. пока не сформировалась форма, файл занят... Вообщем, пробовать надо.
Сложно:
1. Модифицировать интерфейс накладных.
2. Написать свой интерфейс вызываемый из формы накладной.
3. Попробовать поработать с объектом file. Например функцией:
4.1.1. Функция CopyMoveFile (String, String, Boolean) : Boolean
Назначение
Функция копирует или перемещает (если параметр IsDel = True) файл с именем From в файл с именем To. Возвращает True при успешном выполнении операции.
Описание
function CopyMoveFile (From,To : String; IsDel : Boolean) : Boolean;
Параметры
From : String - имя копируемого или перемещаемого файла.
To : String - имя файла, в который копируется или перемещается файл From.
IsDel : Boolean - если IsDel = True, то файл перемещается, иначе - копируется.
Возвращаемое значение
Функция возвращает логическую истину True при успешном выполнении операции.
===========
3 скорее просто... Если получится конечно, т.к. пока не сформировалась форма, файл занят... Вообщем, пробовать надо.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Имя выходной формы.
Морзе сказал -
>Если получится конечно, т.к. пока не >сформировалась форма, файл занят
Это точно ;D
Можно попробовать выходной поток в свою структуру запихать и выводить потом...
>Если получится конечно, т.к. пока не >сформировалась форма, файл занят
Это точно ;D
Можно попробовать выходной поток в свою структуру запихать и выводить потом...
Re: Имя выходной формы.
Проверял - Работает схема 100%
Form fPrintNakl('OTCH.out','KNTRPR') with novisual;
...
...
fPrintNakl.ShowFile('Отчет');
CopyMoveFile('out\'+UserName + '\OTCH.out','C0' + DateToStr(Cur_Date,'DDMM')+'.out', false);
end.
Form fPrintNakl('OTCH.out','KNTRPR') with novisual;
...
...
fPrintNakl.ShowFile('Отчет');
CopyMoveFile('out\'+UserName + '\OTCH.out','C0' + DateToStr(Cur_Date,'DDMM')+'.out', false);
end.
Re: Имя выходной формы.
Пробовал в ARD-отчете
вставить этуже f.
из 1281 строчек исходника скопировал
1059 строчек. Видать сам себя копирует
то, что уже полжено на диск, не учитывая буфера обмена, но есть возможность в начале в писать ".f 'f.out'", а как сделать макро подстановку другого значения?
вставить этуже f.
из 1281 строчек исходника скопировал
1059 строчек. Видать сам себя копирует
то, что уже полжено на диск, не учитывая буфера обмена, но есть возможность в начале в писать ".f 'f.out'", а как сделать макро подстановку другого значения?
Re: Имя выходной формы.
M0P3E:
"Просто никак ..."
А если вот так :
Делаем ДВЕ формы..... В Галактике при выборе форм сначала формируем "рабочий документ" а затем "служебный"..... Надеюсь понятно
Для тех кто сразу не смекнул раскроем многоточие:
Первая форма - форма требуемого документа (накладной например). В ней вставляем
.F "c:\myfile.out"
Во второй форме можно удалить практически всё, что не касается структуры формы (из выводимых полей можно оставить номер) и написать какой-нибудь текст, например для накладной:
.linkform 'tovn_03_z33' prototype is tovn
.NameInList '2. СЛУЖЕБНАЯ ФОРМА ****'
.group 'Накладные на продажу'
.fields
Номер
.endfields
.{
.begin
CopyMoveFile('c:\myfile.out', 'c:\Otchets\'+Номер+'.out', false)
end.
Накладная сохранена в файле ^.out
Н А Ж М И Т Е К Л А В И Ш У ESC
.if tovn01
.end
.if tovn02
.end
.{
.}
.{ CHECKENTER TOVNUSL
.}
.{
.}
.}
.endform
А дальше проводим "работу с пользователями" и втолковываем им о НЕОБХОДИМОСТИ сразу после печати документа формировать "СЛУЖЕБНУЮ ФОРМУ"
"Просто никак ..."
А если вот так :
Делаем ДВЕ формы..... В Галактике при выборе форм сначала формируем "рабочий документ" а затем "служебный"..... Надеюсь понятно
Для тех кто сразу не смекнул раскроем многоточие:
Первая форма - форма требуемого документа (накладной например). В ней вставляем
.F "c:\myfile.out"
Во второй форме можно удалить практически всё, что не касается структуры формы (из выводимых полей можно оставить номер) и написать какой-нибудь текст, например для накладной:
.linkform 'tovn_03_z33' prototype is tovn
.NameInList '2. СЛУЖЕБНАЯ ФОРМА ****'
.group 'Накладные на продажу'
.fields
Номер
.endfields
.{
.begin
CopyMoveFile('c:\myfile.out', 'c:\Otchets\'+Номер+'.out', false)
end.
Накладная сохранена в файле ^.out
Н А Ж М И Т Е К Л А В И Ш У ESC
.if tovn01
.end
.if tovn02
.end
.{
.}
.{ CHECKENTER TOVNUSL
.}
.{
.}
.}
.endform
А дальше проводим "работу с пользователями" и втолковываем им о НЕОБХОДИМОСТИ сразу после печати документа формировать "СЛУЖЕБНУЮ ФОРМУ"
Подход к делу: СДЕЛАЛ и ... ЗАБЫЛ, а ОНО пусть САМО работает (не люблю возвращаться и повторяться).