Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Янв 2018, 06:18
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отобразить результат запроса  (Прочитано 3481 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Максипес

  • *
  • Сообщений: 43
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-23
  • Сайт: 
Вопрос простой, как мне кажется, но 2 дня штудирования интеренета и попыток что-то сделать, как-то разобраться, пока не привели у успеху. Я в полном ступоре, как тут все работает. Начал разбираться в 1с 3 дня назад.

Никак не въеду в объектную модель, поэтому очень прошу помощи на нижеследующем конкретном примере. Мне бы понять общий прием для решения такой ситуации.

итак.

1. создан справочник.. в нем уже есть несколько тестовых записей.
2. создана ФормаСписка с дополнительной кнопкой Фильтр
3. на форме есть некий объект Список, который визуально выглядит таблица с которой как раз и работает юзер и где уже показываются данные из справочника.
4. по нажатии кнопки Фильтр должен выполнится простейший запрос типа Запрос = Новый Запрос("ВЫБРАТЬ .."); Результат = Запрос.Выполнить(); и результат этого запроса должны отразиться в той самой таблице на форме.

я застрял на том моменте, что не понимаю что возвращает запрос и как эти данные визуализировать. вроде бы есть визуальная таблица которая что-то показывает и ей по идее нужно дать ссылку на новый объект для отображение или .. ну не знаю..  или.. или есть другие вообще способы?

заранее спасибо.



Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
фильтр который отбор - это стандартный механизм формы в целом и формы списка в частности.
может быть не стоит изобретать велосипед?

разговор про обычное или управляемое приложение?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Максипес

  • *
  • Сообщений: 43
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-23
  • Сайт: 
фильтр который отбор - это стандартный механизм формы в целом и формы списка в частности.
может быть не стоит изобретать велосипед?

разговор про обычное или управляемое приложение?

Пока не очень разобрался в терминологии.. вроде бы обычное приложение.

По отбору в форме поковырявшись сделал пока так:

	ТексЗапроса = "
|ВЫБРАТЬ
|Наименование,КодКлиента
|ИЗ
|Справочник.Сделки
|ГДЕ Наименование = ""EDM5""";

Список.ТекстЗапроса = ТексЗапроса;
Список.ОсновнаяТаблица = "Справочник.Сделки";
Список.ДинамическоеСчитываниеДанных = Истина;

        // тут все просто оказалось, форма сама находит и показывает данные согласно запроса.
        // но со столбцами все запутанно.. если ничего не делать показываются все столбцы
        // пока только такой способ нашел
       
        НоваяКолонка = Элементы.Добавить("Наименование", Тип("ПолеФормы"), Элементы.Список);
        НоваяКолонка.ПутьКДанным = "Список.Наименование";
        НоваяКолонка = Элементы.Добавить("КодКлиента", Тип("ПолеФормы"), Элементы.Список);
        НоваяКолонка.ПутьКДанным = "Список.КодКлиента";


тут у меня такие вопросы:
1. насколько адекватен такой подход? особенно в части со столбцами.
2. я добавляю 2 столбца и они показываются.. но куда делись остальные? т.е. до выполнения этого когда было 10 столбцов.. я добавил два.. и .. стало 2 столбца.. мне так и нужно.. но все же вопрос почему исчезли остальные?
3. почему ПутьКДанным = "Список.КодКлиента"; а не ПутьКДанным = "Справочиники.Сделки.КодКлиента";


еще раз спасибо.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
То что вы наваяли - не дает оснований для понимания, какое же вы используете приложение.
Тут надо однозначно понимать какое приложение: обычное или управляемое. В данном случае реализация будет принципиально разная.

Оффлайн Максипес

  • *
  • Сообщений: 43
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-23
  • Сайт: 
То что вы наваяли - не дает оснований для понимания, какое же вы используете приложение.
Тут надо однозначно понимать какое приложение: обычное или управляемое. В данном случае реализация будет принципиально разная.

Управляемое.

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
В таком случае, все что вы наваяли = неправильно
Делайте по совету cska-fanat-kz, т.е. вам нужно просто наложить правильный отбор на ваш динамический список.

Оффлайн Максипес

  • *
  • Сообщений: 43
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-23
  • Сайт: 
В таком случае, все что вы наваяли = неправильно
Делайте по совету cska-fanat-kz, т.е. вам нужно просто наложить правильный отбор на ваш динамический список.

но как это сделать?!

но ведь работает!

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Хотите попасть в рубрику "я все починил"? - это намек на индусский код

Оффлайн Максипес

  • *
  • Сообщений: 43
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-06-23
  • Сайт: 
Хотите попасть в рубрику "я все починил"? - это намек на индусский код

я просто хочу узнать.. вы даже не сказали, что именно неправильно.
Добавлено: 24 Июн 2015, 16:25

Сделал через отбор.. так:

 
    Список.Отбор.Элементы.Очистить();
    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = "EDM5";
    ЭлементОтбора.Использование = Истина;

чем это принципиально отличается от первоначального варианта:

	ТексЗапроса = "
|ВЫБРАТЬ
|Наименование,КодКлиента
|ИЗ
|Справочник.Сделки
|ГДЕ Наименование = ""EDM5""";

Список.ТекстЗапроса = ТексЗапроса;
Список.ОсновнаяТаблица = "Справочник.Сделки";
Список.ДинамическоеСчитываниеДанных = Истина;

Вроде бы тот же самый объект только другие методы и свойства заюзаны. Я думал это альтерантива просто, тем кто не хочет писать запросы.

Колонки тоже добавляются тем же способом как я вначале приводил..

НоваяКолонка = Элементы.Добавить("Наименование", Тип("ПолеФормы"), Элементы.Список);
НоваяКолонка.ПутьКДанным = "Список.Наименование";

.. только на этот раз в конец, а существующие уже не пропадают.. как очистить набор колонок перед добавлением?



   


Последний раз редактировалось: Максипес; 24 Июн 2015, 16:25. Причина: Объединение сообщений

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Сделал через отбор.. так:

Вот так правильно.
А по-другому - это выход через окно, а не через дверь.


Теги:
 

Из запроса не выводятся значения полей - выводятся пустые значения

Автор Alex1111Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 24
Просмотров: 12574
Последний ответ 14 Июн 2012, 17:44
от Alex1111
"ПОДОБНО" в условие связи запроса

Автор Станиславъ ЗверевъРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 3484
Последний ответ 11 Май 2016, 15:29
от LexaK
"Таблица значений" в результате запроса - 1С

Автор mvk843Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 8
Просмотров: 866
Последний ответ 15 Июн 2017, 07:53
от mvk843
Возможно ли языком запросов без конкатенации текста запроса и без СКД преобразовать строки таблицы в столбцы (колонки) выходной таблицы?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 514
Последний ответ 29 Май 2017, 15:29
от alex0402
Ошибка при выполнении запроса - "неоднозначное поле"

Автор Marta_LiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 12186
Последний ответ 21 Апр 2011, 16:00
от Marta_Li

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
106 Сообщений
AIFrame
100 Сообщений
alex0402
30 Сообщений
kiksi
19 Сообщений
pavl_vs
19 Сообщений
alexandr_ll
17 Сообщений
andron81_81
16 Сообщений
Norfolk
15 Сообщений
LexaK
13 Сообщений
BuhRust
12 Сообщений

* Кто онлайн

  • Точка Гостей: 262
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal