0
- 12.07.2020 - 18:57
|
Есть некая 77. Есть УТ 11. Из 77 нужно по КОМ соединиться к УТ и перебрать доки определенного вида. Найти нужные и в 77 породить документы из данных, взятых из УТ. Вот кусок кода: БазаТорговли = СоздатьОбъект("V83.COMConnector"); v8 = БазаТорговли.Connect("Srvr="+ИмяСервера+";Ref="+Ба заДанных+";Usr="+Пользователь+";Pwd="+Пароль+""); ЗаявкиУТ = v8.Документы.ЗаказПоставщику; ДокЗаявкаКОМ = ЗаявкиУТ.Выбрать((РабДата-1), (РабДата+1)); //переберём заявки в УТ Пока ДокЗаявкаКОМ.Следующий() = -1 Цикл Контр = ДокЗаявкаКОМ.Контрагент.Наименование; Сообщить(Контр); Отдел = ДокЗаявкаКОМ.ОтделОбработки.Идентификатор(); Сообщить(Отдел); КонецЦикла; Так вот, Контр - наименование контрагента - показывает отлично, а отдел (ОтделОбработки - суть перечисление) возвращать не хочет, пишет: "Поле агрегатного объекта не обнаружено (Идентификатор)" Вопрос: как мне программно вытащить значение реквизита ОтделОбработки? | | |
41
- 04.08.2020 - 19:00
| 39-USSR > В личку написал | | |
42
- 27.08.2020 - 17:02
|
..задача получила продолжение.. Перебирая строки, мы получаем номенклатуру. У номенклатуры есть реквизит, "набор упаковки", путь к данным которого - Объект.НаборУпаковок. Как перебрать теперь в цикле, в 77 упаковки из этого набора? | | |
43
- 27.08.2020 - 17:13
|
Зачем в 7.7передавать набор упаковок, из УТ достаточно взять единицу измерения, которую содержит этот набор упаковок А бывает и проще, что единица измерения сама по себе понятна | | |
44
- 28.08.2020 - 10:14
| Не понял. Вот, например, товар1, его в упаковке 6 штук, упаковок на паллете - 60 коробок. Мне нужно в 77 получить эти цифры: 6 и 60. Как, каким образом? | | |
45
- 28.08.2020 - 14:49
| Какая конкретно проблема при обращении к этому справочнику ? | | |
46
- 28.08.2020 - 22:52
| я не знаю, как на семерочном языке написать цикл перебора восьмерочного справочника. В лоб "выбратьЭлементы, ПолучитьЭлемент" ожидаемо не сработало. | | |
47
- 29.08.2020 - 04:25
|
(46)При чем тут "ВыбратьЭлементы()" ?) Вы работаете из 7.7 в базе 8.3, значит должны и использовать синтаксис 8.3, например V8.Справочники.УпаковкиЕдиницыИзмерения.Выбрать() | | |
48
- 30.08.2020 - 01:34
| Да, это понятно. Про "ВыбратьЭлементы()" это я от отчаяния написал. Но с конструкцией Выбрать() тоже непонятно. В 8.3 после Выбрать() надо написать: "Пока Выборка.Следующий() Цикл", но в 77 это нарушение синтаксиса. Поэтому-то и говорю, что не знаю, как это на 77 написать ( | | |
49
- 30.08.2020 - 03:19
|
(48)Почему нарушение синтаксиса? покажите полностью этот кусок, где нарушение Вот, например, рабочий код из 7.7: Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() = -1 Цикл КонецЦикла В 7.7 нет булево, поэтому надо сравнивать с аналогом True | | |
50
- 31.08.2020 - 16:53
| Разобрался. Ну, как разобрался.. В УТшной номенклатуре есть реквизит "НаборУпаковок" (элемент справочника "НаборыУпаковок"). У этого реквизита "НаборУпаковок" есть, соответственно, реквизит "Список" - суть, ДинамическийСписок. Так вот вопрос: как элементы этого динамического списка перебрать в цикле, в 77? | | |
51
- 31.08.2020 - 18:28
| (50)Динамический список нельзя перебрать из 7.7 ) Перебрать можно данные, а не то, что их отображает | | |
52
- 31.08.2020 - 18:53
|
я года 2 плотно не залазил в УТ 11, но по моему для получения единиц измерения элемента номенклатуры тебе просто надо выбрать элементы справочника "УпаковкиЕдиницИзмерения" для требуемого их владельца - либо этого элемента номенклатуры, либо его реквизита - "НаборУпаковок", причем если единицы типовые, то владельцем является предопределенный набор упаковок Справочники.НаборыУпаковок.БазовыеЕдиницыИзмерения Копай в эту сторону | | |
53
- 31.08.2020 - 22:05
| блин, это удар (( Цитата:
Я понял. Большое спасибо за помощь. | |
| Интернет-форум Краснодарского края и Краснодара |