| 
    
            
         
         | 
    
    
  | 
Запрос через прямое подключение к базе | ☑ | ||
|---|---|---|---|---|
| 
    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) нет ли здесь орфографической ошибки ВыплатаЧерезЗапрплату?     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |