|
формат DBF на управляемых формах | ☑ | ||
---|---|---|---|---|
0
ms333602412
01.09.16
✎
12:07
|
Всем доброго дня!
Пеервёл БП с 2.0 на 3.0. в 2.0 была обработка которая загружает документы формата dbf. Соответственно, сделал эту обработку на УФ, и всё было замечательно пока тестировал на файловой базе. и вот сейчас перевели базу на серверную и печалько. сейчас код выглядит так &НаКлиенте Процедура Загрузить(Команда) ЧитатьФайл(Объект.ПутьКФайлу) КонецПроцедуры Процедура ЧитатьФайл(Файл) Экспорт БД= Новый XBase; БД.ОткрытьФайл(Объект.ПутьКФайлу,,Истина); БД.Кодировка=КодировкаXBase.OEM; Объект.Доки.Очистить(); НашлиКонтрагента = 0; БД.Первая(); Пока Не БД.ВКонце() Цикл бла бла бла..... КонецЦикла; КонецПроцедуры Подскажите пож-та каким образом теперь могу передать этот файл dbf на сервер что б его там так же разобрать и обработать? |
|||
1
vicof
01.09.16
✎
12:09
|
ПоместитьВоВременноеХранилище
|
|||
2
ms333602412
01.09.16
✎
12:10
|
(1) с этим я согласен, задача на первый взгляд простая, но помещается во временное хранилище у меня не файл а путь к файлу, и на сервере так же самая проблема. а сам файл на клиенте поместить нельзя
|
|||
3
ms333602412
01.09.16
✎
12:11
|
если есть работающий код, скопируйте сюда его пож-та
|
|||
4
Горогуля
01.09.16
✎
12:11
|
ровно та же проблема была. поправил принцип действия, переписал всю логику чтения. потратил день, теперь жадничаю и ленюсь искать ту обработку
|
|||
5
Остап Сулейманович
01.09.16
✎
12:11
|
(2) "помещается во временное хранилище у меня не файл а путь к файлу".
Нужно поменять подход к решению задачи. И все-таки поместить файл, а не путь. |
|||
6
Aleksandr N
01.09.16
✎
12:12
|
(2) Используйте двоичные данные.
|
|||
7
vicof
01.09.16
✎
12:12
|
Не, запускай обработку только на файловой базе :)
|
|||
8
Горогуля
01.09.16
✎
12:13
|
&НаКлиенте
Процедура ПрочитатьФайлПроНоменклатуру(Команда) Объект.Номенклатура.Очистить(); НачатьПомещениеФайла(Новый ОписаниеОповещения("ПрочитатьФайлПроНоменклатуруЗавершение", ЭтаФорма), АдресФайла, Объект.ИмяФайла, Ложь); ПрочитатьФайлПроНоменклатуруНаСервере(); КонецПроцедуры &НаКлиенте Процедура ПрочитатьФайлПроНоменклатуруЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт АдресФайла=Адрес; КонецПроцедуры |
|||
9
ms333602412
01.09.16
✎
12:13
|
(6) как говориться толи лыжи не едут то ли я .., но с двоичными данными тоже не получилось, пытался найти хорошую статью как это сделать, тоже не получилось
|
|||
10
Aleksandr N
01.09.16
✎
12:16
|
(9) в (8) верно написано.
|
|||
11
ms333602412
01.09.16
✎
12:18
|
всем спасибо! боду попробовать!
|
|||
12
Dotoshin
01.09.16
✎
12:23
|
(0) А что мешает сразу открывать файл на сервере?
|
|||
13
ms333602412
01.09.16
✎
12:24
|
(12) а каким образом он туда попадёт если его клиент не отправит??
|
|||
14
Горогуля
01.09.16
✎
12:24
|
(12) его там нет
|
|||
15
Dotoshin
01.09.16
✎
12:25
|
(13) (14) А что мешает его сразу туда положить?
|
|||
16
ms333602412
01.09.16
✎
12:25
|
(15) напиши пож-та волшебный код, спомощью он на сервере окажется?)))
|
|||
17
Горогуля
01.09.16
✎
12:26
|
(15) автор заперт в австралийской тюрьме и надиктовывает файл постепенно на свиданиях. ну не может он до сервера добраться
|
|||
18
Dotoshin
01.09.16
✎
12:26
|
+ (15) Он же откуда-то берется этот файл. Вот пусть этот источник из которого он берется сразу кладет его на сервер.
|
|||
19
ms333602412
01.09.16
✎
12:26
|
(15) неуж то файл параметром в функцию?
|
|||
20
ms333602412
01.09.16
✎
12:27
|
(17) гувантанама
|
|||
21
Dotoshin
01.09.16
✎
12:27
|
(16) Напиши сначала код, который кладет его на клиента.
|
|||
22
ms333602412
01.09.16
✎
12:29
|
(21) Строковое значение на форме, путь к файлу на диске
|
|||
23
Dotoshin
01.09.16
✎
12:30
|
(22) и?
|
|||
24
Dotoshin
01.09.16
✎
12:30
|
На диске он откуда взялся?
|
|||
25
ms333602412
01.09.16
✎
12:31
|
(24) тётка в возрасте в больших очках его из др программы выгрузила))) это меняет логику передачи до сервера?))))
|
|||
26
Dotoshin
01.09.16
✎
12:34
|
(25) Пусть тетка в больших очках выгрузит его сразу на сервер. Создай на сервере папку для этих дбф-ов и расшарь ее, а тетку проинструктируй куда фалы надо складывать.
|
|||
27
Горогуля
01.09.16
✎
12:34
|
(25) в корне. файл придётся передавать, тётка не справится сама
|
|||
28
ms333602412
01.09.16
✎
12:36
|
(26) усадил тётку на сервер, дал ей папку в руки, и говорю ей клади сюда файлы))) смотрит на меня со слезами и говорит, сервер ведь не понимает что на форме у клиента твориться)))) может не нужно тётке рядом с сервером сидеть?)))
|
|||
29
Неверный Параметр И
01.09.16
✎
12:38
|
(20) Guantanamera, guajira guantanamera...
|
|||
30
Неверный Параметр И
01.09.16
✎
12:40
|
Может рано вам с теткой на БП 3, а?
Даже в типовой подсмотреть не можете. |
|||
31
Dotoshin
01.09.16
✎
12:40
|
(28)Зачем ты над теткой издеваешься? Я бы тоже заплакал, если б меня заставили сидеть на сервере с папкой в руках. Посади тетку на стул и подключи на ее компе расшаренную папку как сетевой диск и пусть она вместо диска С выбирает этот сетевой диск, когда дбф сохраняет.
|
|||
32
Горогуля
01.09.16
✎
12:41
|
(31) сетевой диск, ага. зайди на \\192.168.0.21\public - там открыто
|
|||
33
ms333602412
01.09.16
✎
12:42
|
да проблема не в физическом расположении файла, а в контексте формы, на клиенте и на сервере
|
|||
34
Dotoshin
01.09.16
✎
12:42
|
Вот тебе еще вариант.
КопироватьФайл("C:\Temp\Order.htm", "C:\My Documents\Order.htm"); Опять же расшарь папку и воткни этот код в свою обработку и будет тебе щасье |
|||
35
ms333602412
01.09.16
✎
12:44
|
(34) да не будет в этом счастье, проблема не в этом, а то, что в контексте клиента и сервера передать файл только через временное хранилице можно. я шутил насчёт тётки и папок, проблема в контексте управляемой формы, а я смотрю вы всерьёзз озаботились о физическом сервере и папке
|
|||
36
ms333602412
01.09.16
✎
12:45
|
нужен был просто алгоритм передачи между контекстами управляемой формы
|
|||
37
Dotoshin
01.09.16
✎
12:45
|
(32) там закрыто
|
|||
38
Горогуля
01.09.16
✎
12:45
|
(35) скоро до него дойдёт, не отвлекайся
|
|||
39
ms333602412
01.09.16
✎
12:45
|
(30) типовой ДБФ не использует уже, только если др варианты файлов посмотреть
|
|||
40
Неверный Параметр И
01.09.16
✎
12:47
|
(35) Тебе, между прочим, подсказали обход, который ты смог осмыслить, проблемы которую ты осмыслить не можешь.
|
|||
41
ms333602412
01.09.16
✎
12:48
|
(32) это Ты сетевой диск закрыл и теперьв него зайти не получается?))ай ай ай
|
|||
42
ms333602412
01.09.16
✎
12:49
|
(40) тааак, что я не осмыслил, что я упустил из виду?
|
|||
43
Горогуля
01.09.16
✎
12:52
|
(42) люди предлагают считать указанный путь серверным. со всеми вытекающими
|
|||
44
impulse9
01.09.16
✎
12:52
|
(42) сделай сетевой путь к серверной папке у пользователя, и скажи ей класть dbf туда. Это если с временнымхранилищем не получается
|
|||
45
ms333602412
01.09.16
✎
12:55
|
Сторонники "указания нужной папки", объясните пож-та связь контекста формы и расположения папок на ПК или сервере?
|
|||
46
Горогуля
01.09.16
✎
12:56
|
(45) я отношусь к сторонникам? связи нет никакой. обработка идёт на сервере с серверными путями
|
|||
47
Неверный Параметр И
01.09.16
✎
12:58
|
(45) Я, пожалуй, в (40) был не прав по поводу осознания, извиняюсь.
|
|||
48
Dotoshin
01.09.16
✎
13:00
|
(45) Так тебе шашечки или ехать?
|
|||
49
ms333602412
01.09.16
✎
13:00
|
(46) так хоть откуда запускай обработку, всё равно ведь выбор файла будет на клиенте, и по контексту его всё равно нужно будет передавать на север
|
|||
50
Горогуля
01.09.16
✎
13:00
|
+(46) твоя задача наколдовать там файл. передачей ДД ли, тёткой ли - неважно
|
|||
51
Dotoshin
01.09.16
✎
13:01
|
(49) Где у тебя хоть слово про выбор файла в (0) ?
|
|||
52
ms333602412
01.09.16
✎
13:02
|
(50) файл формирует др программа и выгружает его на диск.
|
|||
53
Dotoshin
01.09.16
✎
13:02
|
(52) А сразу на сервер она его не может выгружать?
|
|||
54
ms333602412
01.09.16
✎
13:03
|
(51) смотри (22) , а что б эта строка заполнилась, предварительно выскакивает окно выбора файла.(я думал это и так понятно)
|
|||
55
Garykom
гуру
01.09.16
✎
13:03
|
Если файл маленький то из двоичных данных его в base64 строку и передавать параметром куда угодно...
|
|||
56
Неверный Параметр И
01.09.16
✎
13:04
|
(52) И ты не можешь скопировать файл из того места, куда его выгрузили, в расшаренный католог на сервере?
|
|||
57
ms333602412
01.09.16
✎
13:04
|
(53) нет, не может, упрограммы формирующий файл не прямой связи с базой приёмника файла, поэтому пеердают его по почте
|
|||
58
ms333602412
01.09.16
✎
13:05
|
(55) файл действительно маленький, скорей всего так и поступлю. Спасибо
|
|||
59
Горогуля
01.09.16
✎
13:06
|
и так и не передашь ДД с клиента. нечем будет перед девушками хвастать
|
|||
60
Dotoshin
01.09.16
✎
13:06
|
(57) Ну и что? Из почты его нельзя сохранить на сервере, в расшаренной папке?
|
|||
61
Fish
01.09.16
✎
13:06
|
(57) Ну тогда ещё проще. Подключаешься из 1С к почтовому ящику, и получаешь файл прямо из письма.
|
|||
62
Неверный Параметр И
01.09.16
✎
13:08
|
(57) А говорил, что тетками!
|
|||
63
Горогуля
01.09.16
✎
13:10
|
(62) передают по почте. на почте россии как раз работают тётки в больших очках
|
|||
64
ptiz
01.09.16
✎
13:21
|
(8) Вопрос новичка:
а как процедура ПрочитатьФайлПроНоменклатуруНаСервере узнает, что файл наконец помещен в хранилище? Или её вкрячивать в обработку ожидания? И где она возьмет адрес этого файла в хранилище - из реквизита формы? |
|||
65
Garykom
гуру
01.09.16
✎
13:34
|
(64) узнает когда ее вызовут в обработчике окончания помещения
|
|||
66
ptiz
01.09.16
✎
18:58
|
(65) А зачем она стоит в коде сразу после НачатьПомещениеФайла()? Ведь тут она вызовется сразу - без ожидания.
И что делать, если мы на клиенте хотим что-то отработать после загрузки файла? Как клиент узнает, что файл загружен? |
|||
67
Garykom
гуру
01.09.16
✎
19:13
|
(66) это на совести автора, может он там регламентное запускает на сервере которое файлы ловит ))
мануал хороший по этому http://catalog.mista.ru/public/195003/ |
|||
68
Горогуля
01.09.16
✎
20:06
|
(66) (67) это код так отрефакторился, ничо не знаю ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |