[РЕШЕНО] Присвоение переменной результата запроса

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем retker, 26 авг 2014.

  1. TopicStarter Overlay
    retker
    Offline

    retker Опытный в 1С

    Регистрация:
    12 дек 2013
    Сообщения:
    124
    Симпатии:
    0
    Баллы:
    26
    Доброго дня подскажите такой вопрос, имеется функция которая возвращает результат запроса.Если регистр пустой, то он должен передавать 0, иначе количество строк.
    Код:
    Функция ПоследнийНомерРегистра ()
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |   КОЛИЧЕСТВО(ПосещениеСайтов.Строчка) КАК Строчка
       |ИЗ
       |   РегистрСведений.ПосещениеСайтов КАК ПосещениеСайтов";
       Результат = Запрос.Выполнить().Выгрузить();
       Если Результат = Неопределено Тогда
         Результат =  0;
       КонецЕсли;
       Возврат Результат;
    КонецФункции
    
    Затем мне необходимо присвоить переменной результату этого запроса, вопрос как присвоить
    t = Число(ПоследнийНомерРегистра ()) - не прокатывает, как это правильно реализовать, подскажите.
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Код:
    Результат = Запрос.Выполнить();
    Выгрузка = Результат.Выгрузить();
  3. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Ну у Вас возвращается таблица значений. Ее нельзя преобразовать в число.
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Код:
    Функция ПоследнийНомерРегистра ()
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |   КОЛИЧЕСТВО(ПосещениеСайтов.Строчка) КАК Строчка
       |ИЗ
       |   РегистрСведений.ПосещениеСайтов КАК ПосещениеСайтов";
       Результат = Запрос.Выполнить();
       Если Результат.Пустой() Тогда
         Возврат  0;
    Иначе
    Выборка = Результат.Выбрать();
    Возврат Выборка.Количество();
       КонецЕсли;
    КонецФункции
    --- Объединение сообщений, 26 авг 2014 ---
    Так?
  5. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Код:
    Функция ПоследнийНомерРегистра ()
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
      // |   КОЛИЧЕСТВО(ПосещениеСайтов.Строчка) КАК Строчка
    |ПосещениеСайтов.Строчка КАК Строчка
       |ИЗ
       |   РегистрСведений.ПосещениеСайтов КАК ПосещениеСайтов";
       Результат = Запрос.Выполнить().Выгрузить().Количество();//а вот так?
       //Если Результат = Неопределено Тогда
       //  Результат =  0;
       //КонецЕсли;
       Возврат Результат;
    КонецФункции
    З.Ы. отредактировано по замечаниям в посте #6
    Последнее редактирование: 26 авг 2014
  6. anyuta
    Offline

    anyuta Опытный в 1С

    Регистрация:
    22 июн 2011
    Сообщения:
    333
    Симпатии:
    0
    Баллы:
    26
    Так у Вас запрос вернет либо 0 либо количество записей:

    Код:
    Результат = Запрос.Выполнить().Выбрать()
    Если Результат.Следующий() Тогда
    ПоследнийНомерРегистра = Результат.Строчка;
    КонецЕсли;
    --- Объединение сообщений, 26 авг 2014 ---
    Не совсем так получится...ему нужен количество записей в регистре...а Запрос.Выполнить().Выгрузить().Количество() вернет 1 или 0, я так понимаю
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    мой вариант вернет количество записей в результате запроса. Почему 1 или 0 то? сколько в запросе, сктолько и на выходе
    --- Объединение сообщений, 26 авг 2014 ---
    а, пардон.... в запрос не глянула... там надо убрать количество - просто выборку сделать и должен мой вариант прокатить
  8. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    У автора голова не распухла еще? :)
  9. anyuta
    Offline

    anyuta Опытный в 1С

    Регистрация:
    22 июн 2011
    Сообщения:
    333
    Симпатии:
    0
    Баллы:
    26
    ну, тогда согласна!
  10. TopicStarter Overlay
    retker
    Offline

    retker Опытный в 1С

    Регистрация:
    12 дек 2013
    Сообщения:
    124
    Симпатии:
    0
    Баллы:
    26
    Спасибо.
    Можно закрыть.

Поделиться этой страницей