| 
    
            
         
         | 
    
  | 
Тип не определен (Запрос) | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        GreenDay1986    
     07.11.12 
            ✎
    12:51 
 | 
         
        Тип не определен (Запрос)
  
        Запрос = Новый <<?>>Запрос(); (Проверка: Тонкий клиент) Всем здравствуйте. Создаю новую информационную базу, не из шаблона, для разработки. Создаю справочники, доки, регистры. Собственно вопрос. Если стоит параметр &НаКлиенте я так понимаю тип запрос на клиенте не определен, ставлю на сервере, ничего не происходит &НаКлиенте Процедура ПриОткрытии() Запрос = Новый Запрос(); Запрос.Текст="ВЫБРАТЬ |Рег.Цена КАК Цена, |Рег.Дата КАК Дата |ИЗ РегистрСведений.Цены КАК Рег |"; Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл Сообщить(Рез.Цена); Сообщить(Рез.Дата); КонецЦикла; КонецПроцедуры Что пишу неправильно?  | 
|||
| 
    1
    
        GreenDay1986    
     07.11.12 
            ✎
    12:52 
 | 
         
        &НаСервере
  
        Процедура ПриОткрытии() Запрос = Новый Запрос(); Запрос.Текст="ВЫБРАТЬ |Рег.Цена КАК Цена, |Рег.Дата КАК Дата |ИЗ РегистрСведений.Цены КАК Рег |"; Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл ЭтаФорма.Элементы.Цена = Рез.Цена; Сообщить(Рез.Цена); Сообщить(Рез.Дата); КонецЦикла; КонецПроцедуры или просто Процедура ПриОткрытии() Запрос = Новый Запрос(); Запрос.Текст="ВЫБРАТЬ |Рег.Цена КАК Цена, |Рег.Дата КАК Дата |ИЗ РегистрСведений.Цены КАК Рег |"; Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл ЭтаФорма.Элементы.Цена = Рез.Цена; Сообщить(Рез.Цена); Сообщить(Рез.Дата); КонецЦикла; КонецПроцедуры ошибок не выдает но и запросы также не исполняются  | 
|||
| 
    2
    
        mikecool    
     07.11.12 
            ✎
    12:53 
 | 
         
        с чего решил, что запросы не выполняются?     
         | 
|||
| 
    3
    
        GreenDay1986    
     07.11.12 
            ✎
    12:54 
 | 
         
        С того что никакие сообщения не выводятся, точнее может и исполняются, однако результата нет     
         | 
|||
| 
    4
    
        mikecool    
     07.11.12 
            ✎
    12:55 
 | 
         
        (3) сообщения выводятся, только на сервере
  
        включай уже мосх )  | 
|||
| 
    5
    
        Magic Dick    
     07.11.12 
            ✎
    12:56 
 | 
         
        Новый Запрос;     
         | 
|||
| 
    6
    
        Песец    
     07.11.12 
            ✎
    12:56 
 | 
         
        Проверка: Тонкий клиент     
         | 
|||
| 
    7
    
        GreenDay1986    
     07.11.12 
            ✎
    12:57 
 | 
         
        Процедура ПриОткрытии()
  
        Запрос = Новый Запрос(); Запрос.Текст="ВЫБРАТЬ |Рег.Цена КАК Цена, |Рег.Дата КАК Дата |ИЗ РегистрСведений.Цены КАК Рег |"; Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл ЭтаФорма.Элементы.Цена = Рез.Цена; Сообщить(Рез.Цена); Сообщить(Рез.Дата); КонецЦикла; КонецПроцедуры Здесь куда выводятся?  | 
|||
| 
    8
    
        vmv    
     07.11.12 
            ✎
    12:57 
 | 
         
        тс - глупый тролль, уничтожиить!     
         | 
|||
| 
    9
    
        Magic Dick    
     07.11.12 
            ✎
    12:58 
 | 
         
        (8) а может 86 год?     
         | 
|||
| 
    10
    
        GreenDay1986    
     07.11.12 
            ✎
    12:58 
 | 
         
        брррр, да нет, не тролль, учусь маленько     
         | 
|||
| 
    11
    
        Песец    
     07.11.12 
            ✎
    12:59 
 | 
         
        Запрос (Query)
  
        ... Доступность: Сервер, толстый клиент, внешнее соединение. (с) СП  | 
|||
| 
    12
    
        GreenDay1986    
     07.11.12 
            ✎
    12:59 
 | 
         
        (11) То есть мне нужно создавать новую базу на сервере, так понимаю?     
         | 
|||
| 
    13
    
        vmv    
     07.11.12 
            ✎
    13:00 
 | 
         
        (10) открываем сп и в первой главе "директивы компиляции" изучаем, хотя может лучше порясят выращивать - ты подумай, что выгоднее     
         | 
|||
| 
    14
    
        Песец    
     07.11.12 
            ✎
    13:00 
 | 
         
        (12) Не, базу не надо.     
         | 
|||
| 
    15
    
        Песец    
     07.11.12 
            ✎
    13:01 
 | 
         
        (14+) Медитируй до просветления:
  
        Тип не определен (Запрос) Запрос = Новый <<?>>Запрос(); (Проверка: Тонкий клиент)  | 
|||
| 
    16
    
        GreenDay1986    
     07.11.12 
            ✎
    13:01 
 | 
         
        (14) То есть базу на локальном компьютере я правильно создал. Что дальше делать дабы в ней сожно было работать с запросами?     
         | 
|||
| 
    17
    
        Песец    
     07.11.12 
            ✎
    13:03 
 | 
         
        (16) В тонком клиенте тип "Запрос" не определен.     
         | 
|||
| 
    18
    
        Sammo    
     07.11.12 
            ✎
    13:03 
 | 
         
        Запрос это сущность или процедура?     
         | 
|||
| 
    19
    
        ptiz    
     07.11.12 
            ✎
    13:03 
 | 
         
        (16) На сервере выполняешь запрос. На клиента возвращаешь сообщения.     
         | 
|||
| 
    20
    
        Песец    
     07.11.12 
            ✎
    13:04 
 | 
         
        (17+) ...в нем толко интерфейс, что-либо делать с базой надо на стороне сервера.     
         | 
|||
| 
    21
    
        GreenDay1986    
     07.11.12 
            ✎
    13:04 
 | 
         
        (19) спасибо, счас попробую.     
         | 
|||
| 
    22
    
        GreenDay1986    
     07.11.12 
            ✎
    13:06 
 | 
         
        (19) Как это с точки зрения синтаксиса будет выглядеть? 2 процедуры?     
         | 
|||
| 
    23
    
        GreenDay1986    
     07.11.12 
            ✎
    13:12 
 | 
         
        Хм, можно пример как возвратить с сервера на клиент? Исполнение так понимаю
  
        &НаСервере Процедура ПриОткрытии() Запрос = Новый Запрос(); Запрос.Текст="ВЫБРАТЬ |Рег.Цена КАК Цена, |Рег.Дата КАК Дата |ИЗ РегистрСведений.Цены КАК Рег |"; Рез = Запрос.Выполнить().Выбрать(); КонецПроцедуры  | 
|||
| 
    24
    
        Шапокляк    
     07.11.12 
            ✎
    13:16 
 | 
         
        (23) Запрос = Новый Запрос;
  
        Убери скобочки! И - нескромный вопрос - а что на сервере открывают-то?  | 
|||
| 
    25
    
        Песец    
     07.11.12 
            ✎
    13:16 
 | 
         
        (23) На клиенте этой процедуры просто не будет.
  
        Как вариант - создать общий модуль с галочками "сервер" и "вызов сервера", в нем расположить твою функцию которая вернет данные, ее и вызывать из ПриОткрытии.  | 
|||
| 
    26
    
        GreenDay1986    
     07.11.12 
            ✎
    13:20 
 | 
         
        (25) В общем все мои запросы исполнять в общих модулях, При открытии прописывать уже непосредственно передаваемые с сервера параметры?     
         | 
|||
| 
    27
    
        GreenDay1986    
     07.11.12 
            ✎
    13:21 
 | 
         
        Мутновато пока укладывается, ну ладно, спасибо, будем разбираться :)     
         | 
|||
| 
    28
    
        le_    
     07.11.12 
            ✎
    13:25 
 | 
         
        (27) Поищи видеокурс Гилева по управляемым формам.     
         | 
|||
| 
    29
    
        Xapac_2    
     07.11.12 
            ✎
    13:27 
 | 
         
        на КЛИЕНТЕ же!!!
  
        сделай на сервере  | 
|||
| 
    30
    
        Wobland    
     07.11.12 
            ✎
    13:28 
 | 
         
        ТС как минимум уже год учится, никак не научится     
         | 
|||
| 
    31
    
        Aprobator    
     07.11.12 
            ✎
    13:28 
 | 
         
        (27) чего тут укладываться то? УФ - видимость методов и т.п. смотреть обязательно, только и всего.     
         | 
|||
| 
    32
    
        GreenDay1986    
     07.11.12 
            ✎
    13:35 
 | 
         
        Хм, как ИБ без управляемых форм сделать? Конфигурации подревнее поискать?     
         | 
|||
| 
    33
    
        Wobland    
     07.11.12 
            ✎
    13:35 
 | 
         
        (32) нужно как-то себя заставить     
         | 
|||
| 
    34
    
        GreenDay1986    
     07.11.12 
            ✎
    13:36 
 | 
         
        (33)Ога, я пока ток БП ковырял, без УФ.     
         | 
|||
| 
    35
    
        GreenDay1986    
     07.11.12 
            ✎
    14:33 
 | 
         
        Для примера родил следующее. :)
  
        &НаСервере Функция ВыбратьДанные(Найм) Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ |Ном.Наименование КАК Наим |ИЗ Справочник.Номенклатура КАК Ном |ГДЕ Наим.Наименование=&Найм |"; Запрос.УстановитьПараметр("Найм",Найм); Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий()Цикл; Сообщить(Рез.Наим); КонецЦикла; КонецФункции &НаКлиенте Процедура ПриОткрытии() Сообщить(ВыбратьДанные(Этаформа.Элементы.Наименование)); КонецПроцедуры Возвращает ошибку {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(20)}: Ошибка при вызове метода контекста (ВыбратьДанные) Сообщить(ВыбратьДанные(Этаформа.Элементы.Наименование)); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'ПолеФормы'  | 
|||
| 
    36
    
        salvator    
     07.11.12 
            ✎
    14:36 
 | 
         
        Если Рез.Следующий() Тогда;
  
        Возврат Рез.Наим; КонецЕсли;  | 
|||
| 
    37
    
        GreenDay1986    
     07.11.12 
            ✎
    14:39 
 | 
         
        (36) таже самая ошибка возвращается.     
         | 
|||
| 
    38
    
        Romich1981    
     07.11.12 
            ✎
    14:44 
 | 
         
        Посмотри хоть какой тип у "Этаформа.Элементы.Наименование"     
         | 
|||
| 
    39
    
        GreenDay1986    
     07.11.12 
            ✎
    14:44 
 | 
         
        (38) Поле ввода     
         | 
|||
| 
    40
    
        Romich1981    
     07.11.12 
            ✎
    14:45 
 | 
         
        =) о чем и речь. Какие типы можно передавать?     
         | 
|||
| 
    41
    
        hhhh    
     07.11.12 
            ✎
    14:45 
 | 
         
        (37) а вот этот бред как объясните? Что это за слово?
  
        ГДЕ Наим.Наименование  | 
|||
| 
    42
    
        GreenDay1986    
     07.11.12 
            ✎
    14:47 
 | 
         
        Где Ном.Наименование, простите     
         | 
|||
| 
    43
    
        samozvanec    
     07.11.12 
            ✎
    14:48 
 | 
         
        все не читал. Что за прикол менять директиву компиляции у событий формы?     
         | 
|||
| 
    44
    
        GreenDay1986    
     07.11.12 
            ✎
    14:49 
 | 
         
        Не ругайтесь шибко, УФ первый раз юзаю :(     
         | 
|||
| 
    45
    
        GreenDay1986    
     07.11.12 
            ✎
    14:57 
 | 
         
        Уррра, нашел :) ЭтаФорма.Объект.Наименование. Передалось таки :)     
         | 
|||
| 
    46
    
        sidalexsandr    
     07.11.12 
            ✎
    14:58 
 | 
         
        Можно так:
  
        &НаСервере Функция ВыбратьДанные(Найм) Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ |Ном.Наименование КАК Наим |ИЗ Справочник.Номенклатура КАК Ном |ГДЕ Наим.Наименование=&Найм |"; Запрос.УстановитьПараметр("Найм",Найм); РезультатЗапроса = Запрос.Выполнить(); СпособОбхода = ОбходРезультатаЗапроса.Прямой; ТабЗнач = РезультатЗапроса.Выгрузить(СпособОбхода); Возврат ТабЗнач; КонецФункции  | 
|||
| 
    47
    
        GreenDay1986    
     07.11.12 
            ✎
    14:59 
 | 
         
        (46) Спасибо! :)     
         | 
|||
| 
    48
    
        sidalexsandr    
     07.11.12 
            ✎
    15:00 
 | 
         
        (46)+
  
        Дальше &НаКлиенте Процедура ЗабратьССервера() ТаблЗначений = ВыбратьДанные(Найм); // Дальше получай на здоровье данные из Таблицы значений КонецПроцедуры  | 
|||
| 
    49
    
        sidalexsandr    
     07.11.12 
            ✎
    15:00 
 | 
         
        (47) Вот теперь можеш спасибо     
         | 
|||
| 
    50
    
        sidalexsandr    
     07.11.12 
            ✎
    15:01 
 | 
         
        Напиши, что получилось.     
         | 
|||
| 
    51
    
        hhhh    
     07.11.12 
            ✎
    15:05 
 | 
         
        (49) ТаблицаЗначений
  
        Доступность: Сервер, толстый клиент, внешнее соединение.  | 
|||
| 
    52
    
        GreenDay1986    
     07.11.12 
            ✎
    15:11 
 | 
         
        (50) Соединяю с регистромСведений цены.Сообщение выдалось     
         | 
|||
| 
    53
    
        GreenDay1986    
     07.11.12 
            ✎
    15:28 
 | 
         
        Получилось так 
  
        &НаСервере Функция ВыбратьДанные(Найм) Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ |Ном.Наименование КАК Наим, |ЕСТЬNULL(Рег.Цена,0) КАК Цена, |ЕСТЬNULL(Рег.Период,0) КАК Период |ИЗ Справочник.Номенклатура КАК Ном |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(&ДатаСреза)КАК Рег |ПО Ном.Наименование = Рег.Наименование |ГДЕ Ном.Наименование=&Найм |"; Запрос.УстановитьПараметр("ДатаСреза", КонецДня(ТекущаяДата())); Запрос.УстановитьПараметр("Найм",Найм); Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий()Цикл Сообщить(Рез.Наим); Сообщить(Рез.Цена); Сообщить(Рез.Период); КонецЦикла; КонецФункции &НаКлиенте Процедура ПриОткрытии() ВыбратьДанные(ЭтаФорма.Объект.Наименование); КонецПроцедуры Наименование обьекта текущей формы возвращает. Цену и Период возвращает почему-то пустыми. Хотя в регистресведений Цены эти данные заполнены  | 
|||
| 
    54
    
        Dionis Sergeevich    
     07.11.12 
            ✎
    15:34 
 | 
         
        (53) Отладчик в руки и смотри что у тебя в Рез после Рез.Следующий. Попробуй запрос с твоими параметрами в консоли запросов. Так на глаз не вижу почему возвращает пустые значения     
         | 
|||
| 
    55
    
        Шапокляк    
     07.11.12 
            ✎
    15:50 
 | 
         
        (53) Ну и кто там на сервере это читает
  
        Пока Рез.Следующий()Цикл Сообщить(Рез.Наим); Сообщить(Рез.Цена); Сообщить(Рез.Период); КонецЦикла; Засовывай в структуру и возвращай клиенту  | 
|||
| 
    56
    
        Dionis Sergeevich    
     07.11.12 
            ✎
    15:51 
 | 
         
        (55) суть то не в этом. суть то в другом     
         | 
|||
| 
    57
    
        GreenDay1986    
     07.11.12 
            ✎
    15:55 
 | 
         
        (55) Рез.Наим возвращает и сообщает. Цену с периодом берет пустые     
         | 
|||
| 
    58
    
        Aprobator    
     07.11.12 
            ✎
    15:56 
 | 
         
        (46) (48) не взлетит по той простой причине, что таблица значений не живет на клиенте.     
         | 
|||
| 
    59
    
        Aprobator    
     07.11.12 
            ✎
    15:58 
 | 
         
        (53) дык у тебя соединения нет. Кто же соединение по наименованию делает? Самописка что ли полная?     
         | 
|||
| 
    60
    
        Шапокляк    
     07.11.12 
            ✎
    15:58 
 | 
         
        (56) Суть... Интересно, какой кошмар у него затаился в регистре Цены? Неужто Измерение Наименование строкового типа?     
         | 
|||
| 
    61
    
        GreenDay1986    
     07.11.12 
            ✎
    16:01 
 | 
         
        (60) Измерение Наименование типа СправочникСсылка.Номенклатура     
         | 
|||
| 
    62
    
        hhhh    
     07.11.12 
            ✎
    16:02 
 | 
         
        (61) а измерение Номенклатура типа СправочникСсылка.Номенклатура значит безжалостно удалил?     
         | 
|||
| 
    63
    
        Шапокляк    
     07.11.12 
            ✎
    16:02 
 | 
         
        (61) Да ну? А это как понимать?
  
        |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(&ДатаСреза)КАК Рег |ПО Ном.Наименование = Рег.Наименование  | 
|||
| 
    64
    
        Serginio1    
     07.11.12 
            ✎
    16:02 
 | 
         
        Может ВыбратьДанные(ЭтаФорма.Объект.Наименование.ТекстРедактирования); 
  
        или что там еще  | 
|||
| 
    65
    
        GreenDay1986    
     07.11.12 
            ✎
    16:03 
 | 
         
        (63) тут накосячил, Ном.Ссылка = Рег.Ссылка?     
         | 
|||
| 
    66
    
        salvator    
     07.11.12 
            ✎
    16:04 
 | 
         
        (65) продолжайте наблюдения     
         | 
|||
| 
    67
    
        Dionis Sergeevich    
     07.11.12 
            ✎
    16:07 
 | 
         
        (65) У записи регистра нет ссылки. Да открой ты консоль запросов     
         | 
|||
| 
    68
    
        GreenDay1986    
     07.11.12 
            ✎
    16:08 
 | 
         
        Извиняйте ребят, психологических отклонений нет,просто мудаг :))) Измерение Наименование сделал :( В общем переименовал заработало все.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |