![]() |
![]() |
![]() |
|
Подскажите по типу в XDTO | ☑ | ||
---|---|---|---|---|
0
Alex_MA
10.08.11
✎
16:04
|
Всем доброго дня!
Есть процедура web сервиса. Функция ПолучитьСписокСотрудников(СтрокаПоиска) СтрокаСоединения = СокрЛП(СтрокаСоединенияИнформационнойБазы()); СтрокаСоединения = "[БД " + СтрокаСоединения + " " + ИмяПользователя() + "]"; стр = "Прывiтанне, сябры! " + Символы.ПС + " " + СтрокаСоединения; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | СотрудникиОрганизаций.Ссылка, | СотрудникиОрганизаций.Код, | СотрудникиОрганизаций.Наименование Как Наименование, | СотрудникиОрганизаций.ДатаРождения как ДатаРождения |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |"; Если СокрЛП(СтрокаПоиска) <> "" Тогда Запрос.Текст = Запрос.Текст + " ГДЕ СотрудникиОрганизаций.Наименование ПОДОБНО &СтрокаПоиска"; Запрос.УстановитьПараметр("СтрокаПоиска", "%" + СокрЛП(СтрокаПоиска) + "%"); КонецЕсли; Запрос.Текст = Запрос.Текст + " | Упорядочить по Код |"; СотрудникТип = ФабрикаXDTO.Тип("http://www.sample-package.org", "Сотрудник"); СписокСотрудниковТип = ФабрикаXDTO.Тип("http://www.sample-package.org", "СписокСотрудников"); СписокСотрудников = ФабрикаXDTO.Создать(СписокСотрудниковТип); // поехали СписокСотрудников.СтрокаСоединения = стр; //// Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Сотрудник = ФабрикаXDTO.Создать(СотрудникТип); Сотрудник.Код = Выборка.Код; Сотрудник.Наименование = Выборка.Наименование; Сотрудник.ДатаРождения = Выборка.ДатаРождения; Сотрудник.Ссылка = Строка(Выборка.Ссылка.УникальныйИдентификатор()); СписокСотрудников.Сотрудник.Добавить(Сотрудник); //ВОТ ЭТО ЧТО ЗА ТИП ??? У КОТОРОГО ЕСТЬ МЕТОД Добавить() ??? КонецЦикла; Возврат СписокСотрудников; КонецФункции Спасибо за внимание. |
|||
1
Alex_MA
10.08.11
✎
16:27
|
Вот:
СотрудникТип = ФабрикаXDTO.Тип("http://www.sample-package.org", "Сотрудник"); СписокСотрудников = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://www.sample-package.org", "СписокСотрудников")); Сотрудник = ФабрикаXDTO.Создать(СотрудникТип); Сотрудник.Код = Выборка.Код; Сотрудник.Наименование = Выборка.Наименование; Сотрудник.ДатаРождения = Выборка.ДатаРождения; Сотрудник.Ссылка = Строка(Выборка.Ссылка.УникальныйИдентификатор()); СписокСотрудников.Сотрудник.Добавить(Сотрудник); Не понятна последняя строчка. А вот как "СписокСотрудников" выглядит в пакете XDTO^ http://gyazo.com/c32855fad237666083c9cd0faac612f3.png |
|||
2
SerMaxim
10.08.11
✎
16:36
|
Все понятно. По типам сотрудников не подскажу на вскидку. Смысл следующий
СписокСотрудников что-то вроде списка значений, в нем определено 2 массива значений: Один со списком значений вида "Сотрудник", второй - "СтрокаСоединения". Проведение операции вида СписокСотрудников.Сотрудник дает нам фактически сущность идентичную массиву, где можно добавить элемент, найти и удалить. |
|||
3
SerMaxim
10.08.11
✎
16:36
|
(2) Имею в виду не подскажу название конкретного типа. Смысл и логику описал.
|
|||
4
Alex_MA
10.08.11
✎
16:40
|
а как мне создать в своей БД нечто подобное
|
|||
5
SerMaxim
10.08.11
✎
16:45
|
(4) Сформулируйте вопрос понятнее :) Что нечто, что подобное. На листочке нарисуйте что надо получить?
Порядок действий следующий: 1. Рисуем на листочке результат; 2. Рисуем схему взаимодействия; 3. Описываем пакеты XDTO на базе примитивных типов (Пример: Сотрудники) 4. Описываем пакеты XDTO на базе сложных типов (СписокСотрудников) 5. Описываем Веб-Сервисы |
|||
6
Alex_MA
10.08.11
✎
16:54
|
(5)Хорошо:
1.Есть web сервис "Сотрудники", тип возвращаемого значения СписокСотрудников (http://www.sample-package.org) 2.В этом web сервисе описана процедура "ПолучитьСписокСотрудников" (Код процедуры в (0)) 3.В этой процедуре интересует строка СписокСотрудников.Сотрудник.Добавить(Сотрудник); //////////////////////////////////////////////////////// Далее подробнее опишу пакет XDTO, тип объекта которого (а конкретно "СписокСотрудников") возвращает наш web сервис Вот его скрин: http://gyazo.com/9fe6be441a04cd682702d3be487ee7e8.png Свойства "СписокСотрудников": http://gyazo.com/f65261ba03c9fb10cad860f2168ed886.png Свойства "Сотрудник": http://gyazo.com/284daa60794776fc2c41a6340db42228.png Свойства "СтрокаСоединения" http://gyazo.com/9d7bacccb7c1b941a6efdad50c5393a6.png Вот чуток поподробнее. Надеюсь понятно |
|||
7
Alex_MA
10.08.11
✎
16:59
|
кажись понял
|
|||
8
Alex_MA
10.08.11
✎
16:59
|
Для указания того, что
|
|||
9
Alex_MA
10.08.11
✎
17:00
|
свойство может содержать более одного значения, фасетам "Минимальное количество" и "Максимальное количество" необходимо задать значения 0 и -1 соответственно.
Попробую |
|||
10
Alex_MA
10.08.11
✎
17:05
|
(9)так и есть :)
Проблема решилась, надо внимательнее читать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |