|
УФ 8,3 загрузка данных из ДБФ, организовать временное хранилище и вывод на экран | ☑ | ||
---|---|---|---|---|
0
kot275
28.06.14
✎
21:53
|
Доброго времени суток. Нужно выполнить загрузку данных из ДБФ, организовать временное хранилище и вывод на экран. Вопрос в чем. УФ это только показать на экране пользователю. Сами данные надо обрабатывать на сервере. Подскажите какой тип данных можно использовать на сервере для временно хранения данных и отображения их на экране в элементе формы типа "таблица". Организация обмена. Заранее спасибо.
|
|||
1
Маленький Вопросик
28.06.14
✎
22:06
|
Таблица значений?
|
|||
2
kot275
28.06.14
✎
22:31
|
(1) Ок, таблица значений. Работает только на сервере. Тогда мне надо передать туда файл, и показать ее на экране. На клиенте таблица значений не применима.
|
|||
3
Aleksey
28.06.14
✎
22:59
|
(2) ТЗ -реквизит на форме
|
|||
4
Aleksey
28.06.14
✎
22:59
|
"На клиенте таблица значений не применима." - брехня. Нельзя передовать на сервер ТЗ, но можно преобразовать её или использовать реквизит на форме
|
|||
5
dj_serega
29.06.14
✎
00:35
|
(0) А состав колонок заранее известен?
|
|||
6
ДенисЧ
29.06.14
✎
07:15
|
На клиенте взять файл, поместить его в двоичные данные, передать на сервер, там сохранить во временый файл, прочитать, положить в ТЧ формы....
|
|||
7
H A D G E H O G s
29.06.14
✎
09:34
|
ДенисЧ как всегда ересь несет.
На клиенте взять файл, прочитать в ДанныеФормыКоллекцияСтруктур (которая есть интерпретация ТЗ на УФ и которая показана пользователя лицом). Пользователь ее подредактирует и отправит (а может не отправит) на обработку на сервер (запись в базу, поиск соответствия объектам базы по ИНН, Артикулу, и.т.д.) |
|||
8
runoff_runoff
29.06.14
✎
09:42
|
mb ВнешниеИсточникиДанных?
|
|||
9
kot275
29.06.14
✎
10:50
|
(3) (4) Да. Есть такое. Проглядел.
(5)Да состав постоянен и известный. (7)Справку прочитал, мне бы еще пример. Не понял я, как это реализовать. (8)Можно и так наверное. Пока нарисовал такое. &НаКлиенте Процедура кнЗагрузитьИзФайла(Команда) кнЗагрузитьИзФайлаНаСервере(); КонецПроцедуры &НаСервере Процедура кнЗагрузитьИзФайлаНаСервере() тзДанные = Новый ТаблицаЗначений; тзДанные.Колонки.Добавить("Номенклатура"); тзДанные.Колонки.Добавить("Цена"); //ДБФ=Новый Xbase; ДБФ = Новый xBase("C:\Temp\1.dbf"); Пока ДБФ.Следующая() Цикл НоваяСтрока = тзДанные.Добавить(); НоваяСтрока.Номенклатура = ДБФ.TOVAR; НоваяСтрока.Цена = ДБФ.KOLVO; Сообщить(ДБФ.TOVAR + " - " + ДБФ.KOLVO); КонецЦикла; ДБФ.ЗакрытьФайл(); КонецПроцедуры Данные почему-то выводятся со второй записи, буду копать Интернет. И как сервер получает файл из этой строчки ДБФ = Новый xBase("C:\Temp\1.dbf");? |
|||
10
kot275
29.06.14
✎
10:55
|
Как связать таблицу на сервере и таблицу на форме. Обе тип таблица значений?
|
|||
11
m-serg74
29.06.14
✎
11:01
|
(10) про РеквизитФормыВЗначение не читал?
|
|||
12
m-serg74
29.06.14
✎
11:03
|
(9) /"C:\Temp\1.dbf"/
файл действительно лежит на сервере, на диске С, или на компе пользователя? в (6) есть решение |
|||
13
kot275
29.06.14
✎
11:11
|
(12)В том и прикол, лежит на компе пользователя.
Так что-то я сосем туплю. Как таблицу на форме нарисовать-то? Сделал реквизит тип таблица значений. На форму добавил элемент таблица, связал с реквизитом. В процедуре на сервере прописал ЗначениеВРеквизитФормы(тзДанные, "ТЗ"); На экране ничего. |
|||
14
m-serg74
29.06.14
✎
11:16
|
(13) про вторую строку из СП пример
Пример: // Обнуляет значения всех полей всех существующих записей xB.Первая(); Пока Истина Цикл xB.Очистить(); xB.Записать(); Если Не xB.Следующая() Тогда Прервать; КонецЕсли; КонецЦикла; |
|||
15
дедушка Вах
29.06.14
✎
11:16
|
типа дфвьюер - отстой, 1с круто?
|
|||
16
Wobland
29.06.14
✎
11:16
|
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если НЕ ЭтоАдресВременногоХранилища(АдресФайла) Тогда Возврат; КонецЕсли; НЗ=РегистрыСведений.ФайлыЗаданий.СоздатьНаборЗаписей(); НЗ.Отбор.Задание.Установить(Объект.Ссылка); Запись=НЗ.Добавить(); //к этому моменту ссылка не должна быть пустой Запись.Задание=Объект.Ссылка; Запись.Файл=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресФайла)); Запись.Расширение=РасширениеФайла; НЗ.Записать(); КонецПроцедуры &НаКлиенте Процедура Загрузить(Команда) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.МножественныйВыбор=Ложь; Диалог.Фильтр="Документы Word|*.doc|Все файлы|*.*"; Диалог.Каталог="c:\temp"; Если Диалог.Выбрать() Тогда АдресФайла=ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), УникальныйИдентификатор); Ф=Новый Файл(Диалог.ПолноеИмяФайла); РасширениеФайла=Сред(Ф.Расширение, 2); Модифицированность=Истина; КонецЕсли; КонецПроцедуры |
|||
17
kot275
29.06.14
✎
11:23
|
(14) Не помогло.
Почему не показывается таблица разобрался. Надо колонки было добавить. |
|||
18
kot275
29.06.14
✎
11:28
|
Вот так переделал.
&НаКлиенте Процедура кнЗагрузитьИзФайла(Команда) кнЗагрузитьИзФайлаНаСервере(); КонецПроцедуры &НаСервере Процедура кнЗагрузитьИзФайлаНаСервере() ДБФ = Новый xBase("C:\Temp\1.dbf"); ДБФ.Первая(); Пока ДБФ.Следующая() Цикл НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Товар = ДБФ.TOVAR; НоваяСтрока.Колво = ДБФ.KOLVO; Сообщить(ДБФ.TOVAR + " - " + ДБФ.KOLVO); КонецЦикла; ДБФ.ЗакрытьФайл(); КонецПроцедуры |
|||
19
KUBIK
29.06.14
✎
11:30
|
(18) У тебя опять со второй строки будет читать
|
|||
20
KUBIK
29.06.14
✎
11:31
|
ДБФ.Первая();
НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Товар = ДБФ.TOVAR; НоваяСтрока.Колво = ДБФ.KOLVO; Сообщить(ДБФ.TOVAR + " - " + ДБФ.KOLVO); Пока ДБФ.Следующая() Цикл НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Товар = ДБФ.TOVAR; НоваяСтрока.Колво = ДБФ.KOLVO; Сообщить(ДБФ.TOVAR + " - " + ДБФ.KOLVO); КонецЦикла; |
|||
21
kot275
29.06.14
✎
11:37
|
(19) (20) Спасибо, понял. Тогда может быть так?
&НаСервере Процедура кнЗагрузитьИзФайлаНаСервере() ДБФ = Новый xBase("C:\Temp\1.dbf"); ДБФ.Первая(); Пока НЕ ДБФ.ВКонце() Цикл НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Товар = ДБФ.TOVAR; НоваяСтрока.Колво = ДБФ.KOLVO; Сообщить(ДБФ.TOVAR + " - " + ДБФ.KOLVO); ДБФ.Следующая() КонецЦикла; ДБФ.ЗакрытьФайл(); КонецПроцедуры |
|||
22
m-serg74
29.06.14
✎
11:38
|
(21) я тебе пример для чего и присылал :)
|
|||
23
KUBIK
29.06.14
✎
11:39
|
(21) А чем вариант (14) не устраивает?
|
|||
24
m-serg74
29.06.14
✎
11:41
|
(23) да по сути теже я... только в профиль :)
|
|||
25
kot275
29.06.14
✎
11:42
|
(22) (23) (24) Простите, сразу не сообразил.
|
|||
26
KUBIK
29.06.14
✎
11:45
|
(24) я...=коки :)))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |