#0
by Dartanyan
8.1 Команды на VBA(Excel) следующая: 1) ReDim M(1 то 12) - возможно ли создать массив с заданным диапазоном индексов(1 To 12) в 1С. Если да, то как? 2) ReDim Preserve Arr - расширяется или уменьшается массив и значения элементов сохраняется - есть ли возможность расширить/уменьшить массив(изменить размерность) без потери данных? Т.е. без создания "Новый" и без Добавлять в цикле. Может есть более простой метод? Спасибо.
#4
by VS-1976
Это специфика basic человек живёт ещё его ограничениями. Ему нужно воспринимать Массив как объект Collection тогда у него всё встанет на место.
#5
by bodri
в СП нашел такое: Массив (Array) По количеству элементов Синтаксис: Новый Массив(<КоличествоЭлементов1>,...,<КоличествоЭлементовN>) Параметры: <КоличествоЭлементов1>,...,<КоличествоЭлементовN> (необязательный) Тип: Число. Каждый параметр определяет количество элементов массива в соответствующем измерении. Может задаваться неограниченное количество параметров. Если ни один параметр не указан, то создается одномерный массив с нулевым количеством элементов. Описание: Создает массив из указанного количества элементов. Если задано несколько параметров, то будет создан массив, элементами которого являются массивы (и т.д. в зависимости от количества параметров). Фактически конструктор позволяет создать массивы массивов, которые могут являться аналогом многомерного массива. Пример:
#11
by Dartanyan
А! понял. Спасибо. Не знаю как в 1с, но как правило массивы самые быстрые. Скорее всего понадобится, когда столкнетесь с анализом данных
#13
by Dartanyan
да. Практически всегда отсутствую. Но часто нахожу уже готовые ответы именно здесь. И пользуясь случаем, скажу спасибо всем, кто не ленится и делится опытом с нубами, вроде меня. Как говорится: Респект и уважуха!
#14
by breezee
Как вы в этом чертовом ВБА вообще работает? Чтобы создать динамический массив в ВБА надо: 1)Создать динамический массив 2)Переопределить этот динамический массив в конечный. Это же брел А еще там нет возможности посмотреть все методы объекта через вычисления выражения. Это вообще жесть
#15
by Dartanyan
я бы вам сказал в грубой форме,... ну да ладно. 1) а в 1с не нужно создавать массив? 2) во-первых, если нужно не "конечный", то есть Collection, например во-вторых, это стоит рассматривать, как выделение нужного обьема памяти, которая выделяется под все обьекты. Разроботчики языка 1с, просто, делают это за вас, что естественно сказывается на быстродействии. И Массив.Добавить = ReDim Массив(Ubound(Массив)+1). Вы этого не понимаете, потому что не знакомы с реальными языками программирования. "А еще там нет возможности" - есть всё и намного больше, просто, вы не там смотрели и не умеете правильно обьявлять переменные(начальный уровень программирования). Самое большое преимущество VBA в том, что можно быстро набросать, проверить, посмотреть результаты. Там редактировать код можно по ходу выполнения(есть ошибка - исправил, выполнил, перешел на след.строку и тд) и не нужно перезапускать ничего. В отдельном окне представлены все переменные и их значения(это типа Табло, но сразу со всеми переменными модуля и функции). Да че рассказывать... Я ковырялся во многих IDE для разных языков программирования и скажу, в чём - в чём, но в удобстве программирования у Майкрософта всё продумано чётко. Так что, когда захотите написать какой-то VBS, открывайте Excel и наслаждайтесь.
#16
by Филиал-msk
> Вы этого не понимаете, потому что не знакомы с реальными языками программирования. Настоящий гасконец!
#18
by Dartanyan
Я что-то неправильно написал? Память не выделяется в зависимости от типа переменной и их количества в массиве в реальных языках? VB, JS, 1с и тп - вертуальные. Это не я придумал
#19
by VS-1976
По поводу реального языка... нужно иногда распальцовку убирать... не виртуальные, а интерпретируемые Массив в 1С это алгоритм списка, он гораздо луче чем redim. redim в vb это анахронизм оставленный для совместимости.
#21
by Dartanyan
У меня не распальцовка, а ответ на "ты лох" в "развернутом" виде. Гораздо лучше чем? Вы наверное хотели сказать "удобнее". Может быть. Хотя речь даже не об этом, а о том, что redim и добавить выполняют одно и тоже - увеличивают размер мессива.
#24
by breezee
>Реальный язык программирования Да, вы правы, на ассемблере не пишу, да и в двоичном коде ничего толкового не не напишу. Вы же знаете, что разные языки для разного нужны? Зачем мне работа с памятью при создании скрипотв для ворда? Это не риторический вопрос
#25
by Asmody
В 1С есть просто Массив и ФиксированныйМассив. Первый – динамический, второй – статический (на самом деле, иммутабельный). Про массивы достаточно адекватно написано в СП.
#26
by Asmody
И, кстати, называть среду VBA "удобной"… Не, ну может быть кому-то нравится в гамаке стоя на лыжах…
#32
by VladZ
+31 Платформа 1С, в отличии от VB, это среда разработки программ бухгалтерского и управленческого учета. И греть голову вопросами "а какая тут у меня размерность массива?" - некогда. Тут все просто: добавил элемент - увеличил размерность. Удалил элемент - уменьшил.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- изменить шрифт в ВвестиЧисло(), как ?
- Значение зависимой ячейки изменить программно...
- Как можно программно изменить размер шрифта объекта "Текст" в отчете?
- ЗиК. Изменить Вид расчета.
- Как изменить размер модально открытого окна?
- Как изменить размер поля?
- 1C Печать штрих-кодов - как изменить размер печатаемого штрих-кода?
- Как собрать в запросе товар, аналоги товара и аналоги аналогов?
- можно ли изменить найти и изменить значение в дереве значений
- v8: ЗУП. код вычета 503 , размер вычета 4000 , данные в регистре размер вычетов есть, но..
- Как изменить заголовок в шапке универсального отчёта?
- Изменить способ отражение расходов по амортизации
В этой группе 1С
- Установить время документа
- Проверка документа на изменение
- Перенос номенклатуры в УТ-11 (8.3)
- Итог суммы в подвале (Обычное приложение)
- Ctrl-Break на ноуте без клавиши Break
- Программное получение и установка дополнительных реквизитов у номенклатуры (УТ 11)
- Принтер постоянно стал гудеть и не печатает. Почему?
- Начисления ЗУП 3.1. Показатель "Время в днях" не учитывает отпуск
- ДополнительныеСвойства на клиенте
- Отчёт "Анализ Состояния Налогового Учета По НДС" из БП2 для УПП
- Свертка нетиповой 1С базы
- Сканер штрих-кодов Honeywell MS 5145
- Получить адрес контрагента БП 3.0
- Сбилась синхронизация в РИБ по магазину в Рознице 2.2
- v7: Активная строка табличной части
- Обмен через универсальный формат.
- печать штрих-кода стандарта GS1 Databar Expanded Stacked из 1С
- Наименование товаров в офд | Штрих online
- Переход на УПП . Поделитесь опытом.
- Обращение к общей команде из формы справочника