|
Получить Из Временного Хранилища | ☑ | ||
---|---|---|---|---|
0
hasan-rusel
02.12.14
✎
11:10
|
Подскажите в чем ошибка пожалуйста:
{Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) ДанныеСтроки = ПолучитьИзВременногоХранилища(Адрес); по причине: Недопустимое значение параметра (параметр номер '1') ////////////////////////////////////////////////////////// Перем Адрес; &НаКлиенте Процедура ПриОткрытии(Отказ) ДБФ = Новый XBase("D:\Kontr.dbf"); ДБФ.Кодировка = КодировкаXBase.OEM; Адрес = Неопределено; ВХ = ПоместитьВоВременноеХранилище(ДБФ,Адрес); ЗагрузкаДБФ(Адрес); КонецПроцедуры &НаСервере Процедура ЗагрузкаДБФ(Адрес) Сообщить(Адрес); ДанныеСтроки = ПолучитьИзВременногоХранилища(Адрес); ДанныеСтроки.Первая(); Пока Не ДанныеСтроки.ВКонце() Цикл Если НЕ ДанныеСтроки.ЗаписьУдалена() Тогда Контр = Справочники.Корреспонденты.НайтиПоНаименованию(СокрЛП(ДанныеСтроки.Name)); Если Контр = Справочники.Корреспонденты.ПустаяСсылка() тогда Контр=Справочники.Корреспонденты.СоздатьЭлемент(); Контр.Наименование=СокрЛП(ДанныеСтроки.Name); ............................................................................................................... Контр.Записать(); КонецЕсли; КонецЕсли; ДанныеСтроки.Следующая(); КонецЦикла; КонецПроцедуры Заранее спасибо ! |
|||
1
Wobland
02.12.14
✎
11:12
|
Неопределено - так себе адрес
|
|||
2
Легат
02.12.14
✎
11:13
|
="";
|
|||
3
Maxus43
02.12.14
✎
11:13
|
Адрес = ПоместитьВоВременноеХранилище(ДБФ);
|
|||
4
hasan-rusel
02.12.14
✎
11:16
|
(2) не помогло.
(3) не помогло. {Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) ДанныеСтроки = ПолучитьИзВременногоХранилища(Адрес); по причине: Недопустимое значение параметра (параметр номер '1') |
|||
5
Любопытная
02.12.14
✎
11:17
|
(4) а Сообщить(Адрес) что сообщает?
|
|||
6
Maxus43
02.12.14
✎
11:19
|
Адрес = ПоместитьВоВременноеХранилище(ДБФ);
ЗагрузкаДБФ(Адрес); не работает? да ладно. Код в студию |
|||
7
Легат
02.12.14
✎
11:21
|
Возвращаемое значение:
Тип: Строка. Адрес во временном хранилище. Должно было прокатить.. |
|||
8
hasan-rusel
02.12.14
✎
11:21
|
(6) Перем Адрес;
&НаКлиенте Процедура ПриОткрытии(Отказ) ДБФ = Новый XBase("D:\Kontr.dbf"); ДБФ.Кодировка = КодировкаXBase.OEM; // УникальныйИдентификатор = Новый УникальныйИдентификатор; Адрес = ""; Адрес = ПоместитьВоВременноеХранилище(ДБФ); ЗагрузкаДБФ(Адрес); КонецПроцедуры &НаСервере Процедура ЗагрузкаДБФ(Адрес) Сообщить(Адрес); ДанныеСтроки = ПолучитьИзВременногоХранилища(Адрес); ДанныеСтроки.Первая(); Пока Не ДанныеСтроки.ВКонце() Цикл Если НЕ ДанныеСтроки.ЗаписьУдалена() Тогда Контр = Справочники.Корреспонденты.НайтиПоНаименованию(СокрЛП(ДанныеСтроки.Name)); Если Контр = Справочники.Корреспонденты.ПустаяСсылка() тогда Контр=Справочн |
|||
9
Любопытная
02.12.14
✎
11:23
|
(8) Убери объявление переменной, оно тебе всю картину маслом портит
|
|||
10
Maxus43
02.12.14
✎
11:24
|
Адрес = "";
выкинь, чо за привычка так писать |
|||
11
hasan-rusel
02.12.14
✎
11:26
|
(10)
теперь новая ошибка: {Форма.Форма.Форма(20)}: Значение не является значением объектного типа (Первая) ДанныеСтроки.Первая(); |
|||
12
Любопытная
02.12.14
✎
11:26
|
(8) Написавши
Перем Адрес; без директивы компиляции, ты определил определил переменную Адрес на сервере. Поэтому, когда ты приходишь на сервер, у тебя в ней уже не то, что ты с клиента передал, а очень даже Неопределено. |
|||
13
Maxus43
02.12.14
✎
11:28
|
(11) ты сначала файл в двоичные данные, двоичные данные во врем хранилище, из врем хранилища в двоичные данные, двоичные данный сохрани на винт во врем каталог как дбф. И только потом Новый XBase (путь к временному файлу);
|
|||
14
hasan-rusel
02.12.14
✎
11:31
|
(13) О_О
А можно строчкой кода ? |
|||
15
Любопытная
02.12.14
✎
11:32
|
ДвоичныеДанные = Новый ДвоичныеДанные("D:\Kontr.dbf");
|
|||
16
hasan-rusel
02.12.14
✎
11:36
|
(15) а как ?
"двоичные данный сохрани на винт во врем каталог как дбф. И только потом Новый XBase (путь к временному файлу);" |
|||
17
Любопытная
02.12.14
✎
11:40
|
ох, блин...
ИмяВременногоФайла = КаталогИБ()+"TmpDBF.dbf"; ДвоичныеДанные.Записать(ИмяВременногоФайла); ... Ну и далее по тексту. И вообще, читайте СП, там все написано |
|||
18
Maxus43
02.12.14
✎
11:47
|
(17) ну с КаталогИБ() перебор имхо, лучше КаталогВременныхФайлов, да ещё и удалить потом тоже на всякий не забыть бы
|
|||
19
Любопытная
02.12.14
✎
11:48
|
(18) первое, что в голову пришло) Не помню я их, я их в СП читаю обычно
|
|||
20
hasan-rusel
03.12.14
✎
12:22
|
(19)
&НаКлиенте Процедура ПриОткрытии(Отказ) // ДБФ = Новый XBase("D:\Kontr.dbf"); ДвоичныеДанные = Новый ДвоичныеДанные("D:\Kontr.dbf"); Времянка = КаталогВременныхФайлов() + "TmpDBF.dbf"; ДвоичныеДанные.Записать(Времянка); // ДБФ.Кодировка = КодировкаXBase.OEM; // УникальныйИдентификатор = Новый УникальныйИдентификатор; // Адрес = ""; Адрес = ПоместитьВоВременноеХранилище(Времянка); ЗагрузкаДБФ(Адрес); КонецПроцедуры &НаСервере Процедура ЗагрузкаДБФ(Времянка) ДанныеСтроки1 = ПолучитьИзВременногоХранилища(Времянка); ДанныеСтроки = Новый XBase(ДанныеСтроки1); ДанныеСтроки.Кодировка = КодировкаXBase.OEM; ДанныеСтроки.Первая(); Пока Не ДанныеСтроки.ВКонце() Цикл ЧЯДНТ ? |
|||
21
hasan-rusel
03.12.14
✎
12:23
|
{Форма.Форма.Форма(25)}: Ошибка при вызове метода контекста (Первая)
ДанныеСтроки.Первая(); по причине: Перед выполнением операции нужно открыть базу |
|||
22
Wobland
03.12.14
✎
12:24
|
(21) это ты так XBase на основе двоичных данных формируешь?
|
|||
23
Wobland
03.12.14
✎
12:25
|
(22) а, не. на основе какого-то левого пути
|
|||
24
Любопытная
03.12.14
✎
12:26
|
(21)
Синтаксис: Новый XBase(<ПутьКБазе>, <ПутьКИндексу>, <ТолькоЧтение>) Параметры: <ПутьКБазе> (необязательный) Тип: Строка. Полное имя файла таблицы базы данных в формате DBF. <ПутьКИндексу> (необязательный) Тип: Строка. Путь к индексному файлу таблицы. <ТолькоЧтение> (необязательный) Тип: Булево. Истина - открывать файл только для чтения, Ложь - открывать файл для чтения и записи. Значение по умолчанию: Ложь. Описание: Создает объект XBase. При создании могут быть сразу открыты файлы таблицы и индекса. И еще раз: <ПутьКИндексу> (необязательный) Тип: Строка. Путь к индексному файлу таблицы. <ТолькоЧтение> (необязательный) Тип: Булево. Истина - открывать файл только для чтения, Ложь - открывать файл для чтения и записи. Значение по умолчанию: Ложь. |
|||
25
Любопытная
03.12.14
✎
12:26
|
И вообще, ты чего-то не то делаешь
|
|||
26
hasan-rusel
03.12.14
✎
12:27
|
(23) да я хз как, впервые с УФ сталкиваюсь, обычно то проще)
ДБФ = Новый XBase("\\Servbd\Forma\Dok_UL.dbf"); ДБФ.Кодировка = КодировкаXBase.OEM; ДБФ.Первая(); Симв = Символ(160); Пока Не ДБф.ВКонце() Цикл и т.д. |
|||
27
Любопытная
03.12.14
✎
12:27
|
Ты из временного хранилища получаешь двоичные данные. А XBase на основании пути к файлу поднимается. Так что ты свои ДвоичныеДанные сохрани на сервере в файл и этот файл уже делай
|
|||
28
Wobland
03.12.14
✎
12:28
|
(26) обычно в управляемом режиме файловые системы разные у клиента и сервера
|
|||
29
Wobland
03.12.14
✎
12:28
|
(27) Времянка. он туда строку отдаёт
|
|||
30
Любопытная
03.12.14
✎
12:29
|
(26) ну не сталкивайся тогда. Забей, отдай работу тому, кто сталкивался.
Чего вы все ноете про эти упр формы? Не нравится вам инструмент, не работайте с ним. Работайте с тем, что вам нравится. Нитики |
|||
31
Любопытная
03.12.14
✎
12:29
|
*Нытики.
Извините |
|||
32
hasan-rusel
03.12.14
✎
12:30
|
(28) вот это и вызывает затруднения.
|
|||
33
hasan-rusel
03.12.14
✎
12:32
|
(30) Ну не обижайся, помощи же прошу)
Если бы можно было как-то обойти эти УФ, не сталкивался бы... А тут такое... И отдать тут некому. |
|||
34
hasan-rusel
03.12.14
✎
12:46
|
хелп...
|
|||
35
Wobland
03.12.14
✎
12:49
|
то есть, сделайте за меня?
|
|||
36
hasan-rusel
03.12.14
✎
12:50
|
(35) не, направьте на путь истинный с (20)
|
|||
37
Wobland
03.12.14
✎
12:53
|
(36) -> (24)(30)
|
|||
38
DrZombi
гуру
03.12.14
✎
13:09
|
(34) Бросай передавай в хранилище "XBase" объект.
Передай сперва на сервер сам файл, в виде двоичного коду. А потом запиши его во временную папочку, открой, как XBase :) И работак |
|||
39
МишельЛагранж
03.12.14
✎
13:23
|
(30)>>Не нравится вам инструмент, не работайте с ним.
- типичные "аргументы" УФ-маньяков. Они и в автобусе на билет через электронный банк передают. И их "не аргументет", что у водилы нет банковского терминала... |
|||
40
МишельЛагранж
03.12.14
✎
13:24
|
+ да и вообще, водите управлять автобусом надо, а не изысками заниматься с пассажирами...
|
|||
41
МишельЛагранж
03.12.14
✎
13:24
|
*водиле
|
|||
42
ramir
03.12.14
✎
15:29
|
(0) Измени
ПоместитьВоВременноеХранилище(ДБФ,Адрес); На ПоместитьВоВременноеХранилище(ДБФ, ЭтаФорма.УникальныйИдентификатор); |
|||
43
hasan-rusel
04.12.14
✎
07:02
|
Всем спасибо, вот так получилось)
///////////////// //Перем Адрес; &НаКлиенте Процедура ПриОткрытии(Отказ) // ДБФ = Новый XBase("D:\Kontr.dbf"); ////ДвоичныеДанные = Новый ДвоичныеДанные("D:\Kontr.dbf"); ////Времянка = КаталогВременныхФайлов() + "TmpDBF.dbf"; ////ДвоичныеДанные.Записать(Времянка); Файл = Новый Файл("D:\Kontr.dbf"); ФайлИсточник = Файл.ПолноеИмя; Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ФайлИсточник)); // ДБФ.Кодировка = КодировкаXBase.OEM; // УникальныйИдентификатор = Новый УникальныйИдентификатор; // Адрес = ""; //// Адрес = ПоместитьВоВременноеХранилище(Времянка); ЗагрузкаДБФ(Адрес); КонецПроцедуры &НаСервере Процедура ЗагрузкаДБФ(Адрес) ФайлПриемник = КаталогВременныхФайлов() + "temp_v82.dbf"; ДанныеХранилища = ПолучитьИзВременногоХранилища(Адрес); ДанныеХранилища.Записать(ФайлПриемник); ДанныеСтроки = Новый XBase(ФайлПриемник); ДанныеСтроки.Кодировка = КодировкаXBase.OEM; ДанныеСтроки.Первая(); Пока Не ДанныеСтроки.ВКонце() Цикл |
|||
44
Wobland
04.12.14
✎
07:19
|
можешь на досуге почитать про ПолучитьИмяВременногоФайла
|
|||
45
hasan-rusel
04.12.14
✎
07:20
|
(44) ок.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |