Wlancards.ru

ПК техника, WI FI Адаптеры
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Заметки 1С-Программиста

  • Заметки
  • Конфигурация Библиотека
  • WSReader 2.0 — Чтение и исполнение веб-сервисов

1С:Предприятие 8. Веб-сервисы. Передаем массив в 1С

Чтобы передать массив в 1С в качестве параметра операции веб сервиса достаточно просто этому параметру указать тип anyType (http://www.w3.org/2001/XMLSchema). После чего, переданный из php массив, в 1С будет передан как СписокXDTO, который можно обходить в цикле.

Давайте создадим веб сервис и операцию «GetMass». Для этой операции добавим один параметр «param» типа anyType (http://www.w3.org/2001/XMLSchema) как показано на рисунке.

В принципе, это все что необходимо сделать.

Следующий код передает массив в 1С.

<?php

// устанавливаем кодировку
header(«Content-Type: text/html; charset=UTF-8»);
ini_set(«soap.wsdl_cache_enabled»,»0″);

// создаем клиент для веб-сервисов и вызываем операцию
$SoapClient1C = new SoapClient(«http://ghostaz.no-ip.org/mass/ws/WebСервис?wsdl»);
$Mass = array(1,2,3);
$Result = $SoapClient1C->GetMass(array(«param»=>$Mass));

print_r($Result);

?>

В 1С в отладчике можно увидеть что params имеет тип СписокXDTO.

Соответственно возможен обход в цикле:

Функция GetMass ( param )

Результат = 0 ;
Для каждого Значение из param.int цикл
Результат = Результат + Значение ;
КонецЦикла;

Возврат Результат ;

КонецФункции

Вместо типа anyType можно использовать другие типы, например, array из стандартных типов 1С datacore.

UPD от 01.09.2015:

По каким то причинам передать массив или структуру в веб сервис из 1С нельзя. Ругается на несоответствие типов. Но передать параметр можно, если в операцию передать ОбъектXDTO.

Загрузить массив в таблицу значений

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Читайте так же:
Игры windows для mac os

Нажмите одну из кнопок, чтобы поделиться:

Как в 1C 8 поместить массив в таблицу значений.

Пример носит скорее учебный характер.

Таблица значений — тяжелый, ресурсоемкий объект — контейнер с огромными возможностями:
— отборы
— запросы
— колонки

Таблица значений требует деликатного отношения — глубокого вдумчивого создания структуры таблицы, — (использование и создания индексов, описание типов данных в колонках, и т.д.).

Пример содержит несколько этапов:
1. Подготовка колонки таблицы значений
1.1 Вычисляем тип данных для записи в колонки по типу данных в первом элементе массива.
1.2 Создаем колонку таблицы значений.
2. Записываем данные массива в колонку.

МассивДопустимыеТипы.Добавить(ТипКолонки);
Описание_Типов = Новый ОписаниеТипов(МассивДопустимыеТипы);
ИмяКолонки = СтрЗаменить(Строка(ТипКолонки)," ","_");
ШиринаКолонки = СтрДлина(Строка(МассивЭлементов[0][ИмяРеквизита]));
[ missing image ] —>

Результат:
Гораздо интереснее, с практической точки зрения, преобразование массива в "соответствие".
В контейнере-"соответствие" поиск элемента ведется по "ключу" этого элемента.
Он гораздо "легче" и быстрее.
В качестве ключа может использоваться значение любого типа. Ключ должен быть уникальным в этом контейнере-"соответствие".
Фактически, контейнер-"соответствие" имеет один единственный встроенный индекс по колонке "ключ".
Но это уже отдельная тема.

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

  • Организуем вам индивидуальное экспресс обучение программам 1С.
  • Мы поможем Вам начать работать с программами 1С.
  • Мы поможем Вам настроить ваши отчеты в 1С.
  • Установим и настроим 1С под ваши задачи.
  • Поможем сделать ввод начальных остатков по складам и контрагентам
  • Перенесем данные из старых систем.
  • Подскажем как избежать ошибок.

Доработка и сопровождение 1С:

  • Доработаем существующие или создадим новые печатных формы и документы.
  • Разработаем внешние отчеты по Вашим требованиям.
  • Напишем внешние обработоки по загрузке документов из учетных (торговых) систем в бухгалтерию.
  • Разработаем приложения для выгрузки данных на сайты.
Читайте так же:
Записать образ на диск для установки windows

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Данная процедура Преобразует таблицу значений в массив.

Может использоваться для передачи на клиента данных, полученных на сервере в виде таблицы значений в том случае, если таблица значений содержит только такие значения, которые могут быть переданы на клиента

Полученный массив содержит структуры, каждая из которых повторяет структуру колонок таблицы значений.

Не рекомендуется использовать для преобразования таблиц значений с большим количеством строк.

Умеет заполнять как отдельные ячейки, так и таблицы в рамках листов Excel. Удобно при разработке различных “дашбордов” (с графиками, диаграммами), отчетов финансистов (где много формул), заполнения форм документов организации. Эксель шаблон может сделать пользователь (с нужным ему оформлением, формулами и т.д.) и впоследствии самостоятельно этот шаблон менять. Программисту нужно только настроить выдачу данных для заполнения шаблона. Может подключаться как внешняя печатная форма (для обычных и управляемых форм).

2 стартмани

29.07.2020 6717 23 wonderboy 0

Выше мы рассмотрели одномерные массивы, в которых элементы определяются просто порядковым номером. Можно задавать и многомерные массивы, в которых элемент будет иметь несколько номеров. Например двумерный массив, он же матрица, он же таблица, каждый элемент имеет номер строки и столбца. Задаётся такой массив вот так:

Очень важно помнить, что при объявлении массива с вручную вписанными данными нужно обязательно указать размер количества ячеек в измерении на 1 меньше размерности массива (для двумерного – обязательно указать размер одного из измерений, для трёхмерного – два, и т.д.).

В рассмотренном выше двумерном массиве myMatrix элемент с адресом 0, 2 (строка 0 столбец 2) имеет значение 12. Обращение к этому элементу например с целью перезаписи будет выглядеть так:

Читайте так же:
Закрываются приложения windows 10

Очень полезным бывает массив строк (массивов букв), позволяющий упорядоченно хранить названия пунктов меню или других подобных вещей. Такой массив должен быть объявлен при помощи адресного оператора * (звёздочка):

Обращение к names[2] поможет вывести слово Stop в монитор порта или на дисплей, например

Но к этому мы ещё вернёмся в будущем. С элементами массивов можно производить такие же действия, как с обычными переменными, т.е. всю математику, которую мы рассматривали в предыдущем уроке, также не стоит забывать, что массивом может быть почти любой тип данных: целочисленные, дробные, массив структур… Область видимости точно так же применяется к массивам, ведь массив – это обычная переменная.

Как отличать формулу массива от обычной формулы

При нажатии клавиш CTRL+SHIFT+Enter для подтверждения ввода в строке формул будут отображены фигурные скобки по краям. Значит данная формула выполняется в массиве. Но что если еще на этапе создания неизвестно какой тип формул следует применять?

Правильное «распознавание», когда следует нажимать CTRL+SHIFT+Enter, а когда просто Enter полностью зависит от понимания того, как работают массивы в формулах. Когда вы это поймете, сможете сказать, что конкретную формулу следует вводить (подтверждать) сочетанием клавиш – CTRL+SHIFT+Enter.

Конечно же, не подтвержденная, а просто как формула также может возвращать КАКОЙ-ТО результат (в чем вы могли только что убедиться сами). Однако, если вы сможете прочитать формулу и понять механизм, то вы заметите, что такой результат является ОШИБОЧНЫМ. И поэтому для правильной работы формулы вам необходимо ее подтвердить «Ctr+Shift+Enter». Как и все, понимание и использование формул массива требует практики. Тем не менее, стоит некоторое время посвятить тому, чтобы во всем разобраться. Потому что формулы массива позволяют решить многие проблемы, которые на первый взгляд могут казаться неразрешимыми.

Читайте так же:
Загрузка обновлений windows 7 стоит на месте

Постановка задачи для применения функций СКД Массив (Array) и СоединитьСтроки (JoinStrings)

Задача: Нужно все номера реализаций по одному товару вставить в одну ячейку. Что-то вроде:

номенклатура | кол-во | 001, 002, и т.д. |

Будем использовать запрос к регистру накопления «РеализацияТМЗ».

Регистру накопления «РеализацияТМЗ» существует как в конфигурации Бухгалтерия, так и в конфигурации Управление торговым предприятием (УТП). Узнайте, как в конфигурации УТП установить свойство «Услуга» в элементе справочника «Номенклатура». Поэтому, после скачивания, для проверки его работоспособности вы можете запускать этот отчёт в обеих конфигурациях.

Описание категории «Ссылки и массивы»

Категория функций «Ссылки и массивы», другое название категории «Функции просмотра» используются для поиска значений в списках или таблицах, манипулирования диапазоном данных, а также, для получения дополнительной информации, например, информации о количестве строк или столбцов диапазона.

Ярким представителем функций данной категории является самая популярная функция ВПР, которая позволяет найти значение из ячейки диапазона, выполнив поиск в первом столбце этого же диапазона

pic7.3.1.png

Принцип работы функции ВПР из категории «Ссылки и массивы»

Похожим образом работает и функция ГПР (HLOOKUP):

funktsii-ssylki-massivy-excel-3.png

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector