8.х Запрос и список значений.

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Aston, 26 авг 2012.

  1. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Привет всем!
    Есть вопрос по запросу.
    Возможно ли в запросе в выходном поле получить список значений,
    Я хочу получить не кучу строк а одну стороку, в которой в некоторых полях будет список значений.
    Есть например

    СУММА (Цена) КАКЦена
    А мне надо получить список значений, тое список ссылок.

    СписокЗначений (Вычеты) КАК СписокВычетов

    Подскажите плиз кто знает если такое можно сделать или только перебором?
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Признаться честно даже никогда об этом не задумывался, потому что нужны не было. А задачу всю целиком опишите.
  3. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Привет ещё раз
    Привожу живой привер. Есть допустим сотрудник, у сотрудника есть вычеты. Вычеты хранятся в регистре сведений и есть вычет на него и на детей. Вычетов на самого сотрудника и на детей может быть несколько.
    Я допустим делаю запрос в котором хочу получить 1 строку на каждого в сотрудника, в которой я бы видел.
    Сотрудник (Справочник.Сотрудник)
    ВычетыНаСотрудника (Массив или лист какой, что то что можно перебрать и как то в табличной части в поле отобразить)
    ВычетНаДетей (Тоже самое что и с вычетом на сотрудника)

    Я лично незнаю как это можно сделать в запросе и возможно ли это.
    Подскажите возможно ли это про перебор строк и создание массива знаю.
    Но мне потом как то надо это всё дело в 1 поле отобразить а как пока идей нет.
  4. Yuriy_Alexandrovich
    Offline

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

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Доброго Всем,

    В результате запроса можно получить таблицу (как пример РезультатЗапроса = Запрос.Выполнить().Выгрузить()) вида "Сотрудник|ВычетНаСотрудника|ВычетНаДетей" (зависит от полей регистра), из таблицы можно выгрузить значения колонки в массив, "МассивЗначений = РезультатЗапроса.ВыгрузитьКолонку(<ИмяКолонки>)", а массив загрузить в список значений "СписокЗначений.ЗагрузитьЗначения(МассивЗначений)"
  5. Yuriy_Alexandrovich
    Offline

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

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Плюс использования "СписокЗначений" в том, что для выбора из списка не нужно рисовать формы.
    Например на форме есть поле ввода "Сотрудник" и его обработчик "НачалоВыбора" делаем примерно так :
    Код:
    Процедура ПолеВводаСотрудникНачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Элемент.Значение = СписокЗначений.ВыбратьЭлемент("Выбор сотрудника").Значение;
    КонецПроцедуры
    Есть но - нужно вставить проверки на пустые значения, на то что если пользователь отказался от выбора (это уже сам)
  6. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Всё понятно тут, а есть ли возможность этот массив сохранить как то в реквезит, какой тип должен быть?
  7. Yuriy_Alexandrovich
    Offline

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

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    тип - "СписокЗначений" (как вариант)
  8. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Я честно у реквизита объекта как не крути не вижу такой тип, у поля табличной части есть у реквезита объекта нет.
  9. Yuriy_Alexandrovich
    Offline

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

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    В каком режиме приложение ? (обычное, управляемое)
    если в обычном см. изображения -
    Посмотреть вложение 12060
    Посмотреть вложение 12061

    Вложения:

    • uno.PNG
      uno.PNG
      Размер файла:
      31,5 КБ
      Просмотров:
      72
    • due.PNG
      due.PNG
      Размер файла:
      29,6 КБ
      Просмотров:
      70
  10. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Упровляемое приложение и обычное приложение.
    />
  11. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Упровляемое приложение и обычное приложение.

    Вложения:

    • 2.JPG
      2.JPG
      Размер файла:
      77,6 КБ
      Просмотров:
      28
  12. Yuriy_Alexandrovich
    Offline

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

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Я говорил о реквизите объекта (документа, обработки), реквизите формы, используйте что удобнее, но не о реквизите табличной части
  13. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Про список значений
    http://www.mista.ru/tutor_1c/sz.htm
    Или я что то не понял?
  14. Yuriy_Alexandrovich
    Offline

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

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Нет вы все правильно разобрали, я не проверил на документе. У обработок реквизит может быть списком значений, в документах - нет. (Извиняюсь, и спасибо, лишний раз покопаться полезно) в этом случае нужно создать табличную часть с соответствующими реквизитами
  15. TopicStarter Overlay
    Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Это точно, но если честно надо привязываться к строчкам и писать пару обработок :(

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