#0
by timeforlive
Всем привет! Сразу с примера: Таким образом в 1С можно создать массив и добавлять в него значения, но это очень и очень не удобно, особенно, если нужно 1000 значений заполнить руками. Кто-то предложет сделать следующим образом: 1. создать файл Excel, внести туда данные 2. создать обработку, которая считывала бы данные и результатом бы создавала корректные текст Это конечно круто, но мне было проще сделать себе програмку в C#. Вот ссылка, если кому-то поможет (и не только по 1С): После обработки RenameText я для удобства использую программу Microsoft Excel с формулой: ="["&F1&"]" где F1 - это число от 1 до n (т.е. индекс массива) и программой SubLime: 1. скопировать текст 2. найти все TAB-отступы (Find All) - удалить их; П.С. можно средней кнопкой мыши выделять по вертикали текст Вот мой вопрос: можно ли как в C# указать в 1С значения массива без метода Добавить, пример из C#:
#1
by Cube
СП: Массив (Array) По количеству элементов Синтаксис: Новый Массив(<КоличествоЭлементов1>,...,<КоличествоЭлементовN>) Параметры: <КоличествоЭлементов1>,...,<КоличествоЭлементовN> (необязательный) Тип: Число. Каждый параметр определяет количество элементов массива в соответствующем измерении. Может задаваться неограниченное количество параметров. Если ни один параметр не указан, то создается одномерный массив с нулевым количеством элементов. Описание: Создает массив из указанного количества элементов. Если задано несколько параметров, то будет создан массив, элементами которого являются массивы (и т.д. в зависимости от количества параметров). Фактически конструктор позволяет создать массивы массивов, которые могут являться аналогом многомерного массива. Пример:
#2
by ShoGUN
Нет. Мне, правда странно, что "Добавить" не устраивает, т.к. цикл проще, чем формирование выражения инициализации...
#3
by ShoGUN
А вообще, столбец Excel - это COMSafeArray, с которым можно работать из 1С, в т.ч. и выгружать в массив 1С.
#4
by Rovan
"можно ли как в C# указать в 1С значения массива без метода Добавить, пример из C#: " Если это строки, то в типовых конфах есть функция отвечающая за это что-то типа *** Заполнить одним вызовом весь массив одним значением можно через Таблицу значений
#7
by ktvladimir
кури в строну ЗначениеИзСтрокиВнутр, ЗначениеВСтрокуВнутр, посмотри как выглядит массив в строковом представлении, на дальше сообразишь)
#10
by ktvladimir
я к тому, что взять руками написать маленький массив преобразовать его в строку с помощью ЗначениеВСтрокуВнутр увидеть что структура довольно простая и можно построить свою строку которую при помощи обратной функции ЗначениеИзСтрокиВнутр преобразовать в массив в исходной строке разделители меняем с помощью СтрЗаменить
#12
by ktvladimir
так к примеру массив из 3 букв А, Б И В выглядит как {"#",51e7a0d2-530b-11d4-b98a-008048da3034, {3, {"S","А"}, {"S","Б"}, {"S","В"} } } пустой массив как {"#",51e7a0d2-530b-11d4-b98a-008048da3034, {0} } итак разрядность получаем с помощью СтрЧислоВхождений делаем замены разделителя небольшие преобразования и получаем строку нужного массива который получаем обратной функцией ЗначениеИзСтрокиВнутр
#13
by ktvladimir
как я понял есть строка данных разделенных неким разделитем, которую не обходимо загнать в массив для дальнейшей работы... может я и не прав)
#16
by Krolik Bezobraznik
Автор знает толк в извращениях. Автор, расскажи задачу то или это вопрос из серии "А что если жабе всунуть в задницу соломинку и надуть, поплывет она или нет?"
#17
by ktvladimir
Откель я знаю) может он откажется от экселя. случаи бывают разные. Он предложил свой вариант, я предложил свой. кстати довольно шустрый). Любые вариации интересны тем, что расширяют знания. я к примеру не знал про Не сильный знаток экселя... каждый раз гуглю.... но всегда легко гуглить когда знаешь что искать, так что за 3 спасибо одназначно
#19
by ktvladimir
ну собственно из 3 это уже проглядывало) Все равно спасибо. итак соединение с экселем уже не быстрая операция. Смотря какая частота нужна.. ну и в данном случае есть выгрузка в эксель. а бывает зачастую что выгрузка просто в текстовые файлы). я же не знаю как изначально выглядит задача. Может есть некий транспортный файл, который ТС преобразовывает в csv и потом глядит в экселе). Идея отлично, но не стоит зацикливаться одним экселем)
#20
by ktvladimir
про эксель. У Вас есть уже опят с такой функцией? как она ведет себя в случае с форматированием? те наличием объединенных ячеек? часто приходят сторонние прайсы в виде экселя где есть объединения ячеек в заголовках, названиях колонок итд
#21
by ShoGUN
Нормально ведёт, при объединении ячеек значение будет в верхней левой, остальные будут показываться пустыми(как и при любом другом методе чтения, собственно).
#24
by timeforlive
Вот вам задача, это не из серии . Генерация названия. Для того, чтобы создавались из определенных значений (а не из случайных букв символов), то нужно создать массив с этими значениями. Так как значения уже есть, но не в корректном для 1С виде, то нужна была обработка. Если появится необходимость, сделаю обработку для выгрузки из Ексель дынных методом: - взять значение из ячейки - поставить ДО или ПОСЛЕ свое значение - следующая ячейка ... а я добавил, спасибо
#25
by DrZombi
>>> поставить ДО или ПОСЛЕ свое значение Поставь, кто мешает? Но вот для чего лепить компот в в замене текста кода. Ну а коль ты так любишь допиливать Код и далее его выполнять. А не заполнять все нормально и сразу. Вот: Выполнить Выполнить (Execute) Синтаксис: Параметры: <Строка> Строка, содержащая текст исполняемого кода. Описание: Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения. Примечание: В режиме запуска веб-клиент оператор не поддерживается и его вызов игнорируется.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как загрузить из Excel в 1с и создать приходную на основание этих данных ?
- Как создать новую (чистую) конфигурацию.
- V8.новый СОМОбъект("v8.Apllication").Сообщение - "Создать новую базу ?"
- Как создать Новый COMОбъект("Excel.Application") без установленного Excel?
- Подчиненный справчник - как создать новый элемент?
- 8.2 - как создать новый элемент справочника и открыть его форму?
- Есть массив с колонкой остаток, как найти строку массива со занчением 0?
В этой группе 1С
- УФ: Форма выбора, кнопка выбрать, создать отдельную с таким же действием.
- такси, поле полосы регулирования почему-то вверх ногами
- Обмен между УТ 11.0.8.х и БП 3.0
- Перенос документов из УТ 10 в УТ 11
- Отобрать максимальную дату в списке документов
- ККМ и 1С 8.3
- Убрать видимость отбора СКД или сделать недоступным его для изменения
- Где лежат правила конвертации из 77 бух в БП3?
- 1С УПП неправильный вывод вида времени
- сравнить два файла на содержимое
- ЗУП - социальный налоговый вычет Статья 219 п.1 п.п. 4 - как оформить?
- УТ 11 Поиск по точному соответствию
- Как получить паспортные данные сотрудника в 1с8.2
- Что писать во второй параметр метода ПрочитатьВКонтексте() объекта ПостроительDOM
- Отказывается создавать подразделение в АД
- При сдаче отчета Форма МП микро, что обозначает ответ?
- СКД. Найти подстроку в строке
- Как выполнить сброс сканера штрих-кодов Vioteh VT-1101?
- Как в запросе организовать нумерацию значений группировки?
- Процедура Внешнее событие не срабатывает документе Возврат товаров в Розница 2.0