|
|
|
8.2 данные из текстового файла в таблицу значения. | ☑ | ||
|---|---|---|---|---|
|
0
AleXxX_lag
10.08.10
✎
16:29
|
Добрый день! Подскажите пожалуйста с таким вопросом.
Как в управляемом приложении выгрузить данные из текстового файла в таблицу значений? У меня при такой попытке пишет что мол ТаблицаЗначений неизвестное значение. |
|||
|
1
Defender aka LINN
10.08.10
✎
16:32
|
Правильно. Не существует на клиенте никаких таблиц значений.
|
|||
|
2
AleXxX_lag
10.08.10
✎
16:35
|
А как обойти ? ведь справочников на клиенте тоже не существует.
Я так понимаю что надо использововать общие модули. (для обработки на сервере) только пока не могу понять каким образом. Ведь мне в каждом конкретном случае может понадобиться разные ТЗ. Подскажите? хотя бы на небольшом примере? |
|||
|
3
almar
10.08.10
✎
16:37
|
(2)
&НаКлиенте Процедура Сформировать() СформироватьНаСервере() КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() КонецПроцедуры |
|||
|
4
Defender aka LINN
10.08.10
✎
16:37
|
(2) Можно и без общих модулей, форма на сервере тоже существует. Если вкратце - вызывать серверную процедуру, которая вернет текст, а уже на клиенте его писать в файл.
|
|||
|
5
AleXxX_lag
10.08.10
✎
16:46
|
а можно на примере допустим имеется файл "с:\Текст.txt"
со следующим содержанием. 1 2 3 4 5 ... N для того чтобы получить весь текст в тз [code] ф = Новый ТекстовыйДокумент; ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Строк"); ф.Прочитать("C:\Текст.txt"); ном=0; КонДок=ф.КоличествоСтрок(); Пока ном<>КонДок цикл стр=ф.получитьСтроку(ном); НС=ТЗ.Добавить(); НС.Строк=стр; КонецЦикла; [/code] Как этот код можно переделать под 8.2? |
|||
|
6
AleXxX_lag
10.08.10
✎
16:48
|
да забыл про приращение нома.
ф = Новый ТекстовыйДокумент; ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Строк"); ф.Прочитать("C:\Текст.txt"); ном=0; КонДок=ф.КоличествоСтрок(); Пока ном<>КонДок цикл ном=ном+1; стр=ф.получитьСтроку(ном); НС=ТЗ.Добавить(); НС.Строк=стр; КонецЦикла; |
|||
|
7
butterbean
10.08.10
✎
16:48
|
(5) просто сделать все на сервере
|
|||
|
8
AleXxX_lag
10.08.10
✎
16:56
|
щас попробовал как посоветовал butterbean
&НаКлиенте Процедура НаК(стрик) Сообщить(стрик); КонецПроцедуры &НаСервере Процедура Команда1(Команда) ф = Новый ТекстовыйДокумент; ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Строк"); ф.Прочитать("C:\Текст.txt"); ном=0; КонДок=ф.КоличествоСтрок(); Пока ном<>КонДок цикл ном=ном+1; стр=ф.получитьСтроку(ном); НС=ТЗ.Добавить(); НС.Строк=стр; КонецЦикла; для Каждого Стр из ТЗ цикл НаК(Стр.Строк); КонецЦикла; КонецПроцедуры теперь ругается так {Форма.Форма.Форма(21,2)}: Процедура или функция с указанным именем не определена (НаК) <<?>>НаК(Стр.Строк); (Проверка: Сервер) |
|||
|
9
butterbean
10.08.10
✎
16:59
|
(8) я так не советовал :-) чем не устраивает вызывать сообщить() с сервера??
|
|||
|
10
AleXxX_lag
10.08.10
✎
17:00
|
Сообщить() на сервере не работает.
|
|||
|
11
butterbean
10.08.10
✎
17:02
|
(10) че-то я походу отстал от жизни :-(
|
|||
|
12
AleXxX_lag
10.08.10
✎
17:05
|
(11) а может подскажешь как это все сделать чтобы заработало?
|
|||
|
13
butterbean
10.08.10
✎
17:07
|
(12) есть такая вещь СообщениеПользователю, но я че-то сомневаюсь до сих пор, что Сообщить() на сервере не работает...
|
|||
|
14
AleXxX_lag
10.08.10
✎
17:12
|
(13) Я проверил так
&НаКлиенте Процедура Сообщаем() Сообщить("123"); КонецПроцедуры вот так она сообщает а &НаСервере Процедура Сообщаем() Сообщить("123"); КонецПроцедуры то так молчит А сообщениеПользователю я щас попробую :) |
|||
|
15
AleXxX_lag
10.08.10
✎
17:20
|
попробовал. тоже молчит.
&НаСервере Процедура Команда1(Команда) ф = Новый ТекстовыйДокумент; ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Строк"); ф.Прочитать("C:\Текст.txt"); ном=0; КонДок=ф.КоличествоСтрок(); Пока ном<>КонДок цикл ном=ном+1; стр=ф.получитьСтроку(ном); НС=ТЗ.Добавить(); НС.Строк=стр; КонецЦикла; для Каждого Стр из ТЗ цикл Сообщение = Новый СообщениеПользователю(); Текст =Стр.Строк; Сообщение.Текст = Текст; //Сообщение.УстановитьДанные(ОбъектДанных); Сообщение.Сообщить(); КонецЦикла; КонецПроцедуры |
|||
|
16
almar
10.08.10
✎
17:22
|
У тебя кнопка вызывает серверную процедуру? Так нельзя.
&НаСервере Процедура Команда1(Команда) |
|||
|
17
AleXxX_lag
10.08.10
✎
17:24
|
(16) а как надо правильно?
|
|||
|
18
almar
10.08.10
✎
17:33
|
(17)
&НаКлиенте Процедура Команда1(Команда) СформироватьНаСервере() КонецПроцедуры &НаСервере Процедура СформироватьНаСервере() КонецПроцедуры |
|||
|
19
AleXxX_lag
10.08.10
✎
21:42
|
(18) а так получилось. Спасибо за помощь :) Всем удачи!!!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |