![]() |
![]() |
![]() |
|
ЗапуститьПриложение | ☑ | ||
---|---|---|---|---|
0
AlexandraV
19.03.14
✎
16:26
|
Добрый день! Объясните мне, пожалуйста
Процедура ОткрытьВнешнийФайл(Элемент) КомандаПриложения = "rundll32.exe shimgvw.dll,ImageView_Fullscreen"; UdlФайл = Новый Файл(КаталогПрограммы() + "ElArchive.udl"); Если Не UdlФайл.Существует() Тогда Предупреждение("Не найден файл подключения к БД '" + КаталогПрограммы() + "ElArchive.udl" + "'"); Иначе // Сообщить("Найден файл подключения к БД '" + КаталогПрограммы() + "ElArchive.udl" + "'"); СтрокаСоединенияССерверомElArchive = "File Name=" + КаталогПрограммы() + "\ElArchive.udl" ; Соединение = Новый COMОбъект("ADODB.Connection"); Соединение.ConnectionString = (СтрокаСоединенияССерверомElArchive); Попытка Соединение.Open(); РекордСет=Новый COMОбъект("ADODB.REcordset"); Поток=Новый COMОбъект("ADODB.Stream"); Поток.Type=1; Поток.Mode=3; Поток.Open(); РекордСет.ActiveConnection=Соединение; РекордСет.CurSorLocation=3; Попытка РекордСет.Open("Select DocumentArhNumber, PageContent From dbo.ContractsForBuh Where DocumentArhNumber='"+СокрЛП(Код)+"'",Соединение); Если РекордСет.RecordCount=0 Тогда Предупреждение("По договору № "+СокрЛП(Код)+" сканы не найдены"); Иначе РекордСет.MoveFirst(); Иначе РекордСет.MoveFirst(); Попытка // Сообщить(КаталогВременныхФайлов()); УдалитьФайлы(КаталогВременныхФайлов(),"*.bmp"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Пока РекордСет.EOF()=0 Цикл ////Для i=1 По РекордСет.RecordCount Цикл НомерДоговора=РекордСет.Fields("DocumentArhNumber").Value; // Сообщить(НомерДоговора); Поток.Write(РекордСет.Fields("PageContent").Value); ИмяВременногоФайла = ПолучитьИмяВременногоФайла("bmp"); Поток.SaveToFile(ИмяВременногоФайла); Попытка ЗапуститьПриложение(КомандаПриложения + " " + ИмяВременногоФайла); Сообщить(ИмяВременногоФайла); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; РекордСет.MoveNext(); КонецЦикла; КонецЕсли; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Поток.Close(); РекордСет.Close(); Соединение.Close(); Исключение Сообщить("Не могу подключиться к базе!!! "); КонецПопытки; КонецЕсли; КонецПроцедуры Читаю из сторонней sql-базы сканы договоров. Один договор содержит, например, 5 листов. Формирую 5 временных bmp-файлов в каталог временных файлов. А команда ЗапуститьПриложение открывает только 4 первых. В чем проблема? Постоянно теряется последняя страница. |
|||
1
AlexandraV
19.03.14
✎
16:29
|
Во временном каталоге лежат все 5 картинок. Почему не открывается последняя... Очень нужно...
|
|||
2
AlexandraV
19.03.14
✎
16:34
|
Причем иногда срабатывает верно, например, при первом открытии, а потом непонятное
|
|||
3
Ц_У
19.03.14
✎
16:37
|
а если не получить имя временного файла а через счетчик 1.бмп, 2.бмп, тогда как открывает?
|
|||
4
AlexandraV
19.03.14
✎
16:42
|
надо попробовать
|
|||
5
Ц_У
19.03.14
✎
16:43
|
или, как вариант, сохранять, например в массив, имена файлов, а после закрытия потока, открывать
|
|||
6
AlexandraV
19.03.14
✎
17:00
|
(5), ага, спасибо, попробую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |