К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Вопрос по массивам

Гость
0 - 21.07.2014 - 15:25
Затупил чего то, не знаю как и сделать. :(
В Инете ответ не нашел.
Внизу функция, которая формирует массив.
Мне нужно вернуть из нее этот массив.

ругается "Возврат Мас<<?>>;
{Документ.РасходнаяНакладная.Форма.Модуль(7672)**: Ожидается скалярное выражение (Мас)"

По идее если напишу Возврат Мас[7] она вернет только 7-ой элемент. А мне нужно весь массив.

Функция ЧтениеТекста(тхт_стр)
Перем Мас[7];
..................
Мас[н]=Лев(тхт_стр,НомерРазделителя-1);
...................
Возврат Мас;
КонецФункции

Как сделать? Спасибо!



Гость
1 - 21.07.2014 - 16:11
хмм чем таблица значений не устраивает или список ?
Гость
2 - 21.07.2014 - 16:13
Поверить сообщению, что функция умеет возвращать только скалярное значение ;)
Изучить программирование, чтоб понять, что данное поведение функции естественное.
Изучить встроенный язык 1С.
Как вариант, записаться на курсы.
Поручить работу тому, кто умеет (обменять деньги на время, необходимое для изучения всего этого).
Гость
3 - 21.07.2014 - 22:55
:)
4 - 22.07.2014 - 01:31
(2) а ТЗ - скалярное выражение..?
Возврат ТЗ; - вполне себе катит... хотя тут возвращается скаляр - ссылка... - вот почему на таблицу значений может быть ссылка, аа на массив - нет...?
Гость
5 - 22.07.2014 - 08:33
(4) ТЗ - объект со свойствами а массив - фигня непонятная (с) ;)))
Гость
6 - 22.07.2014 - 08:55
что-то вы гоните

&НаКлиенте
Функция тт()

т = новый массив();
т.Добавить("1");

возврат т;
КонецФункции

&НаКлиенте
Процедура Команда1(Команда)

рр = тт();
Сообщить(рр[0]);

КонецПроцедуры
7 - 22.07.2014 - 09:12
2(6) а попробуй передать массив между клиентом-сервером-клиентом
Гость
8 - 22.07.2014 - 09:26
(7) ну замени &НаКлиенте на &НаСервере
этож УФ
Гость
9 - 22.07.2014 - 09:28
&НаКлиенте
Процедура Команда1(Команда)

т = новый массив();
рр = Команда1НаСервере(т);
Сообщить(рр[0]);

КонецПроцедуры

&НаСервере
Функция Команда1НаСервере(т)

т.Добавить("1");

возврат т;
КонецФункции
Uho
10 - 22.07.2014 - 09:47
а это что вообще такое?
Цитата:
Сообщение от Wanderer27 Посмотреть сообщение
Перем Мас[7];
11 - 22.07.2014 - 10:21
(10)
уже забыл что это такое? ;)))
Гость
12 - 22.07.2014 - 11:35
(6)-(11) Чукча не читатель ? (с) речь про 7-ую 1С
13 - 22.07.2014 - 11:42
(12)
я в курсе, чукча не читатель, говоришь...
Uho
14 - 22.07.2014 - 11:50
Цитата:
Сообщение от 101 Посмотреть сообщение
речь про 7-ую 1С
а что это вообще такое? :)))
Гость
15 - 22.07.2014 - 14:35
(12) о как, а там и массивы были?
Гость
16 - 22.07.2014 - 14:43
15-angro > Ты не поверишь :D
Одномерные.
Гость
17 - 22.07.2014 - 15:36
ну из одномерных массив любой размерности делался одной функцией. только это не айс был с точки зрения производительности
Гость
18 - 22.07.2014 - 15:49
17-Helen1986 > Вообще не очень удобный объект. Гораздо удобнее будет список.
Массив редко в конфах используется, а уж в передаче параметров - совсем не помню.
19 - 24.07.2014 - 10:17
(0) Ты пытаешься вернуть локальную переменную функции.
Она во вне не существует. Создай массив внутри функции и все заработает.
20 - 24.07.2014 - 11:11
Цитата:
Сообщение от AnyBody Посмотреть сообщение
(0) Ты пытаешься вернуть локальную переменную функции. Она во вне не существует. Создай массив внутри функции и все заработает.
Это я погорячился, каша из v7 и v8.
Sorry!
Гость
21 - 24.07.2014 - 11:13
(18) списки и ТЗ удобнее, но тормознутее.
массив прост как палка, более быстр и более ограничен.
Но в конкретных местах массив м.б. намного выгоднее в плане быстродействия
Гость
22 - 24.07.2014 - 11:18
и ваще - в каждой избушке свои игрушки


К списку вопросов






Copyright ©, Все права защищены