Имя: Пароль:
1C
1С v8
v8: Ошибка преобразования по причине: Ошибка формата потока
0 zladenuw
 
01.07.13
11:53
Процедура КнопкаВыполнитьНажатие(Кнопка)
   МассивЭл = Новый Массив;
   МассивЭл.Добавить(ЭлементыФормы.ПолеВвода1.Значение);
   МассивЭл.Добавить(ЭлементыФормы.ПолеВвода2.Значение);
   МассивЭл.Добавить(ЭлементыФормы.ПолеВвода3.Значение);
   ЭлементыФормы.ПолеВвода4.Значение = ЗначениеВСтрокуВнутр(МассивЭл);
   ЭлементыФормы.ПолеВвода1.Значение = "" ;
   ЭлементыФормы.ПолеВвода2.Значение = "" ;
   ЭлементыФормы.ПолеВвода3.Значение = "";
КонецПроцедуры

Процедура ОсновныеДействияФормыДействие(Кнопка)
   
   МассивЭл = ЗначениеИзСтрокиВнутр(ЭлементыФормы.ПолеВвода4.Значение);
   
   ЭлементыФормы.ПолеВвода1.Значение = МассивЭл[0];
   ЭлементыФормы.ПолеВвода2.Значение = МассивЭл[1];
   ЭлементыФормы.ПолеВвода3.Значение = МассивЭл[2];
КонецПроцедуры

{Форма.Форма.Форма(15)}: Ошибка при вызове метода контекста (ЗначениеИзСтрокиВнутр)
   МассивЭл = ЗначениеИзСтрокиВнутр(ЭлементыФормы.ПолеВвода4.Значение);
по причине:
Ошибка преобразования
по причине:
Ошибка формата потока
1 mikecool
 
01.07.13
11:54
все неправильно делаешь...
2 zladenuw
 
01.07.13
11:55
(1) хочу несколько полей хранить в строковом представление. как мне их помещать?
3 zladenuw
 
01.07.13
11:59
и так ошибка

Процедура КнопкаВыполнитьНажатие(Кнопка)
   ТД = Новый ТекстовыйДокумент;
   ТД.ДобавитьСтроку(ЭлементыФормы.ПолеВвода1.Значение);
   ТД.ДобавитьСтроку(ЭлементыФормы.ПолеВвода2.Значение);
   ТД.ДобавитьСтроку(ЭлементыФормы.ПолеВвода3.Значение);
   ЭлементыФормы.ПолеВвода4.Значение = ЗначениеВСтрокуВнутр(ТД);
   ЭлементыФормы.ПолеВвода1.Значение = "" ;
   ЭлементыФормы.ПолеВвода2.Значение = "" ;
   ЭлементыФормы.ПолеВвода3.Значение = "";
КонецПроцедуры

Процедура ОсновныеДействияФормыДействие(Кнопка)
   
   ТД = ЗначениеИзСтрокиВнутр(ЭлементыФормы.ПолеВвода4.Значение);
   
   ЭлементыФормы.ПолеВвода1.Значение = СтрПолучитьСтроку(ТД,1);
   ЭлементыФормы.ПолеВвода2.Значение = СтрПолучитьСтроку(ТД,2);
   ЭлементыФормы.ПолеВвода3.Значение = СтрПолучитьСтроку(ТД,3);
КонецПроцедуры
4 mikecool
 
01.07.13
12:00
(2) зачем? есть сохраняемые реквизиты форм...
5 Maxus43
 
01.07.13
12:03
зачем так вобще делать непонятно, а вот почему не работает чисто технически... по разному переменные массивов назови например, может в памяти массивЭл лежит...
6 lamesnake
 
01.07.13
12:04
а такое что выдаст?
ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(МассивЭл))
7 zladenuw
 
01.07.13
12:06
(5) да не. даже так не хочет.
(4) хочу в РС запихнуть строку и привязать к объекту. даже так не работает.
   СТ = Новый Структура;
   СТ.Вставить("a",ЭлементыФормы.ПолеВвода1.Значение);
   СТ.Вставить("b",ЭлементыФормы.ПолеВвода2.Значение);
   СТ.Вставить("c",ЭлементыФормы.ПолеВвода3.Значение);
   //ТД.ДобавитьСтроку(ЭлементыФормы.ПолеВвода1.Значение);
   //ТД.ДобавитьСтроку(ЭлементыФормы.ПолеВвода2.Значение);
   //ТД.ДобавитьСтроку(ЭлементыФормы.ПолеВвода3.Значение);
   ЭлементыФормы.ПолеВвода4.Значение = ЗначениеВСтрокуВнутр(СТ);
   ЭлементыФормы.ПолеВвода1.Значение = "" ;
   ЭлементыФормы.ПолеВвода2.Значение = "" ;
   ЭлементыФормы.ПолеВвода3.Значение = "";
КонецПроцедуры

Процедура ОсновныеДействияФормыДействие(Кнопка)
   
   СТ = ЭлементыФормы.ПолеВвода4.Значение;
   СТ = ЗначениеИзСтрокиВнутр(СТ);
   
   ЭлементыФормы.ПолеВвода1.Значение = СТ["a"];
   ЭлементыФормы.ПолеВвода2.Значение = СТ["b"];
   ЭлементыФормы.ПолеВвода3.Значение = СТ["c"];
КонецПроцедуры
8 zladenuw
 
01.07.13
12:06
платформа 8,2,16,368
9 Maxus43
 
01.07.13
12:07
СТ_2 = ЗначениеИзСтрокиВнутр(ЭлементыФормы.ПолеВвода4.Значение);
10 zladenuw
 
01.07.13
12:13
(9) ошибка формата потока :(. а у тебя работает?
11 Maxus43
 
01.07.13
12:17
у меня работает это:
   Масс = Новый Массив;
   Масс.Добавить("1");
   Масс.Добавить("2");
   Масс.Добавить("3");
   Зн = ЗначениеВСтрокуВнутр(Масс);
   Сообщить(Зн);
   Зн2 = ЗначениеИзСтрокиВнутр(Зн);
   Сообщить(Зн2[0]);
   Сообщить(Зн2[1]);
   Сообщить(Зн2[2]);


дело в другом. Не обращайся к элементам формы, зачем? к переменным самим обращайся
12 zladenuw
 
01.07.13
12:20
да вот так все равно ошибка

   
   СТ_2 = ЭлементыФормы.ПолеВвода4.Значение;
   СТ_2 = ЗначениеИзСтрокиВнутр(СТ_2);
   
   ЭлементыФормы.ПолеВвода1.Значение = СТ_2["a"];
   ЭлементыФормы.ПолеВвода2.Значение = СТ_2["b"];
   ЭлементыФормы.ПолеВвода3.Значение = СТ_2["c"];
13 Maxus43
 
01.07.13
12:21
(12) ты читаешь вобще? не обращайся через Элементы формы к данным, к ним доступ напрямую есть
14 Maxus43
 
01.07.13
12:22
нафиг вобще везде элементы формы натыканы?) переменные же есть, реквизиты формы
15 Maxus43
 
01.07.13
12:22
скопипасти (11). работает? значит ответ в (13)
16 zladenuw
 
01.07.13
12:26
(15) спасиб. да понедельник блин. надо пойти кофе пить. а то тупняк.
17 Maxus43
 
01.07.13
12:27
дак реально из за ЭлементыФориы?
18 zladenuw
 
01.07.13
12:35
(17) ага