|
Запрос дополнительных реквизитов справочника | ☑ | ||
---|---|---|---|---|
0
Khan7779
23.12.15
✎
14:21
|
Здравствуйте! Очень нужна помощь! 1С 8.3, УТ 11.1. Как запросом получить дополнительные реквизиты добавленные справочнику через режим предприятия?
|
|||
1
Naumov
23.12.15
✎
14:21
|
а как вы пытались?
|
|||
2
Naumov
23.12.15
✎
14:21
|
+ доп реквизиты скорее через ТЧ объекта.
|
|||
3
Cyberhawk
23.12.15
✎
14:22
|
Значения сидят в ТЧ каждого объекта, а сами реквизиты (их описание) - в соответствующем ПВХ и в справочнике "Наборы значений реквизитов"
|
|||
4
Khan7779
23.12.15
✎
14:36
|
(1) вот именно, что никак, потому что первый раз с этим сталкиваюсь
|
|||
5
Khan7779
23.12.15
✎
14:37
|
(3) вижу у объекта ТЧ доп. реквизиты, но что из нее взять, чтоб работать с нужным мне доп. реквизитами? Под описанием реквизитов имеется ввиду их название из предприятия? Не нашел ничего подобного.
|
|||
6
Naumov
23.12.15
✎
15:14
|
(5) Реквизит Значение из ТЧ - это значение доп.реквизита.
|
|||
7
Cyberhawk
23.12.15
✎
15:46
|
(5) ИР тебе в помощь - там увидишь стркутуру ТЧ и данные, в ней хранящиеся
|
|||
8
vicof
23.12.15
✎
15:50
|
(0)
ВЫБРАТЬ * ИЗ Документ.Мегадокумент.ТЧ_Допреквизитов |
|||
9
Khan7779
24.12.15
✎
09:27
|
В общем у меня получилось достать данные доп. реквизитов.
Вот код запроса: Запрос = Новый Запрос; Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов); Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Номер, | ЗаказКлиента.Дата КАК ДатаДоговора, | ЗаказКлиента.Контрагент.Наименование КАК ПокупательКратко, | ЗаказКлиента.Контрагент.НаименованиеПолное КАК ОрганизацияПокупатель, | ЗаказКлиента.Контрагент.ИНН КАК ИННПокупателя, | ЗаказКлиента.Контрагент.КПП КАК КПППокупателя, | ЗаказКлиента.СуммаДокумента, | ЗаказКлиента.БанковскийСчетКонтрагента.НомерСчета, | ЗаказКлиента.БанковскийСчетКонтрагента.БанкДляРасчетов, | ЗаказКлиента.БанковскийСчетКонтрагента.БИКБанкаДляРасчетов, | ЗаказКлиента.Контрагент.ДополнительныеРеквизиты.( | Свойство.Ссылка КАК Название, | Значение КАК Значение | ), | ЗаказКлиента.Товары.( | НомерСтроки, | Номенклатура.Наименование, | Упаковка.ЕдиницаИзмерения, | КоличествоУпаковок, | Цена, | Сумма | ) |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента |ГДЕ | ЗаказКлиента.Ссылка В(&МассивОбъектов)"; Запрос.Выполнить().Выгрузить(); Как теперь достать из массива нужные мне доп. реквизиты по отдельности? |
|||
10
Khan7779
24.12.15
✎
09:59
|
Ну пожалуйста, помогите! Нигде в гугле не могу найти как это сделать.
|
|||
11
cw014
24.12.15
✎
10:04
|
(10) ты же в (9) все уже сделал
|
|||
12
Khan7779
24.12.15
✎
10:06
|
(11) не все. У меня доп. реквизиты в массиве кучей. Теперь мне нужно вычленить их по отдельности.
|
|||
13
cw014
24.12.15
✎
10:07
|
Вычленяй
|
|||
14
cw014
24.12.15
✎
10:07
|
У тебя в результате есть поле "ДополнительныеРеквизиты"
|
|||
15
cw014
24.12.15
✎
10:07
|
Это таблица значений из двух колонок "Название" и "Значение"
|
|||
16
cw014
24.12.15
✎
10:08
|
Свойство.Ссылка КАК Название, замени на Свойство КАК Название,
|
|||
17
Khan7779
24.12.15
✎
10:10
|
(15) ну да, я знаю, я как бэ в курсе) В этой таблице 3 доп. реквизита. Теперь мне нужно их по отдельности заполучить.
|
|||
18
Khan7779
24.12.15
✎
10:13
|
(16) заменил. Так что мне это даст?
|
|||
19
cw014
24.12.15
✎
10:14
|
(17) У тебя три реквизита. Значит в таблице 3 строки. Что именно ты хочешь?
|
|||
20
cw014
24.12.15
✎
10:14
|
Отдельно получаю:
СтрокаТЧ.ДополнительныеРеквизиты[0].Значение - 1 реквизит СтрокаТЧ.ДополнительныеРеквизиты[1].Значение - 2 реквизит СтрокаТЧ.ДополнительныеРеквизиты[2].Значение - 3 реквизит |
|||
21
cw014
24.12.15
✎
10:15
|
Отдельно? Отдельно
|
|||
22
Nolan
24.12.15
✎
10:17
|
(0) А запрос где ты писать будешь?
|
|||
23
Khan7779
24.12.15
✎
10:19
|
(22) запрос уже написан, смотри выше
|
|||
24
Khan7779
24.12.15
✎
10:21
|
(19) нужно получить значение доп. реквизита и присвоить его отдельной переменной, для дальнейшего использования.
|
|||
25
Khan7779
24.12.15
✎
10:21
|
(20) этот код не работает
|
|||
26
Nolan
24.12.15
✎
10:22
|
(23) я понял, что написан. ты его в конфигураторе пишешь или где?
|
|||
27
cw014
24.12.15
✎
10:23
|
(23)Что именно у тебя не получается?
|
|||
28
cw014
24.12.15
✎
10:23
|
Спорим работает?
|
|||
29
Khan7779
24.12.15
✎
10:23
|
(26) эм, ну да, через конфигуратор, в модуле внешней обработки.
|
|||
30
cw014
24.12.15
✎
10:24
|
ТЗ = Запрос.Выполнить().Выгрузить();
СтрокаТЧ = ТЗ[0]; СтрокаТЧ.ДополнительныеРеквизиты[0].Значение; // 1 реквизит СтрокаТЧ.ДополнительныеРеквизиты[1].Значение; // 2 реквизит СтрокаТЧ.ДополнительныеРеквизиты[2].Значение; // 3 реквизит |
|||
31
cw014
24.12.15
✎
10:24
|
И почему у меня то все получается?
|
|||
32
Khan7779
24.12.15
✎
10:26
|
(31) вылетает ошибка: неопознанный оператор.
|
|||
33
cw014
24.12.15
✎
10:26
|
В какой строке?
|
|||
34
Nolan
24.12.15
✎
10:26
|
(30) так должно работать)
|
|||
35
Khan7779
24.12.15
✎
10:29
|
(33) в этих трех:
СтрокаТЧ.ДополнительныеРеквизиты[0].Значение;// 1 реквизит СтрокаТЧ.ДополнительныеРеквизиты[1].Значение;// 2 реквизит СтрокаТЧ.ДополнительныеРеквизиты[2].Значение;// 3 реквизит |
|||
36
cw014
24.12.15
✎
10:30
|
1) точку с запятой пропустил
2) Это просто пример. Ну сделай так: Реквизит1 = СтрокаТЧ.ДополнительныеРеквизиты[0].Значение; Реквизит2 = СтрокаТЧ.ДополнительныеРеквизиты[1].Значение; Реквизит3 = СтрокаТЧ.ДополнительныеРеквизиты[2].Значение; |
|||
37
Khan7779
24.12.15
✎
10:32
|
(36) Ошибок нет. Теперь этим реквизиту 1,2 и 3 присвоено значение тех доп. реквизитов?
|
|||
38
Nolan
24.12.15
✎
10:34
|
(37) Посмотри как пользоваться отладчиком. Тогда ты сможешь сам проверять значения.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |