|   |   | 
| 
 | Запрос через прямое подключение к базе | ☑ | ||
|---|---|---|---|---|
| 0
    
        Масянька 03.05.24✎ 14:21 | 
        День добрый!
 В ЗУП загрузить данные из УПП. Прямое подключение (COM). Ругается на перечисление: 	МассивОпераций = Новый Массив;
	
	МассивОпераций.Добавить(БазаУПП.Перечисления.ВидыОперацийСДивидендами.ВыплатаПочтой);
	МассивОпераций.Добавить(БазаУПП.Перечисления.ВидыОперацийСДивидендами.ВыплатаЧерезБанк);
	МассивОпераций.Добавить(БазаУПП.Перечисления.ВидыОперацийСДивидендами.ВыплатаЧерезСберБанк);
	МассивОпераций.Добавить(БазаУПП.Перечисления.ВидыОперацийСДивидендами.ВыплатаЧерезЗапрплату);
	МассивОпераций.Добавить(БазаУПП.Перечисления.ВидыОперацийСДивидендами.Возврат);
	ЗапросУПП = БазаУПП.NewObject("Запрос");  
	
	ЗапросУПП.Текст = "ВЫБРАТЬ
	|	РегистрацияОперацийСДивидендами.Ссылка,
	|	РегистрацияОперацийСДивидендами.Ссылка.Представление КАК ПредставлениеДок,
	|	РегистрацияОперацийСДивидендами.Номер КАК Номер,
	|	РегистрацияОперацийСДивидендами.Дата КАК Дата,
	|	РегистрацияОперацийСДивидендами.ВидОперации.Ссылка КАК ВидОперации,
	|	РегистрацияОперацийСДивидендами.Протокол КАК Протокол,
	|	РегистрацияОперацийСДивидендами.Ответственный КАК Ответственный
	|ИЗ
	|	Документ.РегистрацияОперацийСДивидендами КАК РегистрацияОперацийСДивидендами
	|ГДЕ
	|	РегистрацияОперацийСДивидендами.Дата МЕЖДУ &ДатаНач И &ДатаКон
	|	И РегистрацияОперацийСДивидендами.ВидОперации.Ссылка В (&ВидОперации)
	|	И РегистрацияОперацийСДивидендами.Проведен = ИСТИНА
	|	И РегистрацияОперацийСДивидендами.ПометкаУдаления = ЛОЖЬ
	|
	|УПОРЯДОЧИТЬ ПО
	|	Дата";
	
	ЗапросУПП.УстановитьПараметр("ДатаНач", 	ДатаНач); 	
	ЗапросУПП.УстановитьПараметр("ДатаКон", 	ДатаКон); 	
	ЗапросУПП.УстановитьПараметр("ВидОперации", МассивОпераций);Без "Ссылка" - тоже ругается. Что не так? Спасибо. | |||
| 1
    
        arsik гуру 03.05.24✎ 14:19 | 
        Массив то у тебя текущей базы. Попробуй вариант через ИЛИ. Тем более в запросе можно значения перечислений сразу указать.     | |||
| 2
    
        Мультук гуру 03.05.24✎ 14:21 | 
        (0) 
 МассивОпераций = БазаУПП.NewObject("массив"); | |||
| 3
    
        Garykom гуру 03.05.24✎ 14:22 | 
        (0) Перепиши код из лапши на ящик
 Так что на входе параметры - на выходе результат И сразу все будет понятно Ну и (1)+ https://forum.infostart.ru/forum9/topic124275/ | |||
| 4
    
        RomanYS 03.05.24✎ 14:22 | 
        (1) +1 
 (0) попробуй так: МассивОпераций = БазаУПП.NewObject("Массив"); | |||
| 5
    
        Масянька 03.05.24✎ 14:23 | 
        (1) Отладчик показывает - COMОбъект.     
 | |||
| 6
    
        Garykom гуру 03.05.24✎ 14:23 | 
        (3)+ Если переписать - будет потом легче этот изврат с com-соединения на http-сервис перевести     | |||
| 7
    
        Масянька 03.05.24✎ 14:24 | 
        (2) (4) СПАСИБО!!!!!!!!!!!!!!!     | |||
| 8
    
        Garykom гуру 03.05.24✎ 14:30 | 
        (2) (4) Вот интересно почему  БазаУПП.NewObjectа не БазаУПП.НовыйОбъект? | |||
| 9
    
        arsik гуру 03.05.24✎ 14:31 | 
        А вот это какой то треш
 РегистрацияОперацийСДивидендами.ВидОперации.Ссылка | |||
| 10
    
        Garykom гуру 03.05.24✎ 14:32 | 
        (8)+ В смысле я понимаю что NewObject это наследие COM/OLE
 Но ведь не сложно в платформе сделать глобальную функцию НовыйОбъект(), доступную в т.ч. через внешнее соединение и выполняющее тоже? | |||
| 11
    
        Garykom гуру 03.05.24✎ 14:34 | 
        (9) РегистрацияОперацийСДивидендами.Ссылка.Представление
 тебя не смущает? | |||
| 12
    
        Масянька 03.05.24✎ 14:34 | 
        А как достучаться до значения перечисления? В запросе.
 | РегистрацияОперацийСДивидендами.ВидОперации КАК ВидОперации, | |||
| 13
    
        Garykom гуру 03.05.24✎ 14:36 | ||||
| 14
    
        arsik гуру 03.05.24✎ 14:36 | 
        (11) Да там вообще полный треш.     | |||
| 15
    
        Масянька 03.05.24✎ 14:40 | 
        +(12)  Только через ВЫБОР и преобразование к строке?     | |||
| 16
    
        Мультук гуру 03.05.24✎ 14:40 | 
        (9)(11) 
 Все-равно будет вторая серия, ибо "В ЗУП загрузить данные из УПП" И даже не знаю какое из слов "ЗУП, загрузить, COM, сопоставление" здесь страшнее. P.S. Масянька, может, не надо ? Может после майских само рассосется? Может бухи руками внесут ? | |||
| 17
    
        Масянька 03.05.24✎ 14:43 | 
        (16) Мне вот интересно, обо...ть - это для "гениев" в порядке вещей? Или у вас (под "вами" я имею ввиду небольшую часть мужского населения) комплексы?
 Если человек мужского рода спрашивает, несмотря на уровень вопроса, нормально отвечаете. А тут прямо "конкурс альфа-самцов"... | |||
| 18
    
        Garykom гуру 03.05.24✎ 14:46 | 
        (17) у тебя уровень вопросов плохо коррелирует с длиной полоски и банальными ответами в гугле     | |||
| 19
    
        Масянька 03.05.24✎ 14:47 | 
        (18) То, что гугл выдает на получение значения перечисления - нельзя назвать ответами.
 Хотя, тебе виднее... | |||
| 20
    
        Garykom гуру 03.05.24✎ 14:47 | 
        (16) синхронизация-сопоставление тут страшнее всего
 особенно когда не один к одному | |||
| 21
    
        Garykom гуру 03.05.24✎ 14:48 | 
        (19) странно у меня гугл сразу выдает ЗНАЧЕНИЕ(Перечисление.ПолФизическихЛиц.Мужской)     | |||
| 22
    
        arsik гуру 03.05.24✎ 14:50 | 
        (17) Это детские ошибки пользователя у которого стаж: 16 лет 10 мес. И пол тут не при чем.     | |||
| 23
    
        Garykom гуру 03.05.24✎ 14:52 | 
        (15) ВЫБОР нужен для составных реквизитов в запросах, вместе с ВЫРАЗИТЬ     | |||
| 24
    
        Масянька 03.05.24✎ 14:53 | 
        (22) (23) Запрос выше - как получить значение перечисления (ВидОперации - это перечисление)?     | |||
| 25
    
        Масянька 03.05.24✎ 14:53 | 
        + (24) Мне подойдет строка.     | |||
| 26
    
        Garykom гуру 03.05.24✎ 14:57 | 
        (24) Сколько платишь?     | |||
| 27
    
        Мультук гуру 03.05.24✎ 14:57 | 
        (25) 
 ПРЕДСТАВЛЕНИЕ(РегистрацияОперацийСДивидендами.ВидОперации) КАК ВидОперации, Так пойдет ? | |||
| 28
    
        Масянька 03.05.24✎ 14:59 | 
        (27) СПАСИБО!     | |||
| 29
    
        Масянька 03.05.24✎ 15:00 | 
        (26) Тебе - нисколько.     | |||
| 30
    
        Garykom гуру 03.05.24✎ 15:05 | 
        (27) Смысл от такого?
 Когда по идее надо как в (1) написано через ИЛИ РегистрацияОперацийСДивидендами.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСДивидендами.ВыплатаПочтой) ИЛИ РегистрацияОперацийСДивидендами.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийСДивидендами.ВыплатаЧерезБанк) ИЛИ ... | |||
| 31
    
        arsik гуру 03.05.24✎ 15:08 | 
        (30) А еще лучше как то так
 ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ВидНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)) | |||
| 32
    
        Garykom гуру 03.05.24✎ 15:13 | 
        (31) Чисто визуально лучше, на уровне субд тоже самое
 И сложней допиливать такой запрос, комменты как было и новые строки добавлять | |||
| 33
    
        SleepyHead гуру 03.05.24✎ 15:16 | 
        (0)
 И РегистрацияОперацийСДивидендами.ВидОперации.Ссылка В (Значение(Перечисление.ВидыОперацийСДивидендами.ВыплатаПочтой), Значение(Перечисление.ВидыОперацийСДивидендами.ВыплатаЧерезБанк)) Прямо в запросе указывай все значения, которые тебе нужны | |||
| 34
    
        Мультук гуру 03.05.24✎ 15:19 | 
        (32) (31) 
 Боюсь, что её интересует значение выборки из УПП в ЗУП | РегистрацияОперацийСДивидендами.ВидОперации КАК ВидОперации, после выполнения запроса и это значение нужно как-то с чем-то сравнивать ? Если выборка.ВидОперации = БазаУПП.Перечисления.ВидыОперацийСДивидендами.ВыплатаПочтой Тогда {делаем что-то } ИначеЕсли выборка.ВидОперации = БазаУПП.Перечисления.ВидыОперацийСДивидендами.ВыплатаЧерезБанк Тогда {делаем что-то другое} КонецЕсли; | |||
| 35
    
        Garykom гуру 03.05.24✎ 15:22 | 
        (34) ага (20)
 в этом случае ВЫБОР КОГДА ТОГДА и прямо в запросе прописываем строковые значения для сопоставления типа все Выплата.. - это одно, Возврат другое | |||
| 36
    
        Garykom гуру 03.05.24✎ 15:24 | 
        (35)+ можно даже значения в запрос через параметры передать, которые подставятся и по которым потом удобно сравнивать     | |||
| 37
    
        arsik гуру 03.05.24✎ 15:24 | 
        Из запроса как то можно получить имя значения перечисления, а не представление?     | |||
| 38
    
        Garykom гуру 03.05.24✎ 15:29 | 
        (37) см (36) передать ТЗ и сопоставить     | |||
| 39
    
        Масянька 03.05.24✎ 15:36 | 
        (35) А как же (23)?     | |||
| 40
    
        Масянька 03.05.24✎ 15:37 | 
        Если что - у меня таблица заполняется, как надо.     | |||
| 41
    
        Garykom гуру 03.05.24✎ 15:39 | 
        (39) так это тоже самое почти
 рассматривай свои значения перечисления как составной реквизит из разных значений, которые приводить надо уверен еще наткнешься в запросах на составные реквизиты | |||
| 42
    
        Масянька 03.05.24✎ 16:01 | 
        (41) В тему: 
 Идет заседание в рейстаге, присутствуют Гитлер, Гимлер, Мюллер. Заходит Штирлиц, ставит на стол поднос с апельсинами, берет из сейфа документы и уходит. Гитлер в гневе: — Это кто? Гимлер и Мюллер в один голос: — Это русский разведчик Исаев. Гитлер: — Так, арестуйте его! — Бесполезно. Скажет, что апельсины приносил... | |||
| 43
    
        Волшебник 03.05.24✎ 16:05 | 
        (42) Совершенно не в тему, но это ж Масянька...     
 | |||
| 44
    
        MaximSh 06.05.24✎ 14:02 | 
        (0) нет ли здесь орфографической ошибки ВыплатаЧерезЗапрплату?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |