1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Запрос или набор записей

Тема в разделе "Базы данных и администрирование", создана пользователем WildAnther, 14 июн 2009.

Статус темы:
Закрыта.
  1. WildAnther

    WildAnther Гость

    Репутация:
    0
    Вообщем опишу ситуацию, имеется регистр сведений, в котором забиты данные по абонентам...
    Есть документ с табличной частью и некоторыми полями,
    Вот мне нужно сделать так чтобы при изменение поля улицы(не в табличной части) заполнялась табличная часть из регистра сведений тех людей у которых улица совпадает с выбранным полем улица, в табличной части около 10 колонок.
    У Габеца нашел решения при помоши НабораЗаписей но не могу разобраться толком... Запросами владею смутно. поэтому обращаюсь.
    Зарание спасибо.
     
  2. WildAnther

    WildAnther Гость

    Репутация:
    0
    Ну проблему частично я решил.. Как бы при изменение выводится данные из регистра... Но, нужно было чтобы не все а именно те у кого улица была бы равна улице же которую выбрал пользователь... бррр

    [codebox]ТМП = РегистрыСведений.Абоненты;
    Выборка = ТМП.Выбрать();

    Пока Выборка.Следующий() Цикл

    СТР = Ведомость.Добавить();
    СТР.ФИО = Выборка.Фамилия;
    СТР.ЛицевойСчет = Выборка.ЛицевойСчет;
    ......
    КонецЦикла;

    [/codebox]
     
  3. WildAnther

    WildAnther Гость

    Репутация:
    0
    Вообщем решил я проблему, наверно даже как то не традиционными способами.

    Вот код решения кому может будет полезно. Код позволяет при определенных услових выбрать данные из регистра сведений.
    Конечно он далек до идеала, но сам факт по простятски нормально.

    Процедура УлицаПриИзменении(Элемент)
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Улица", Улица);
    ТМП3 = Новый Структура("Улица");
    ТМП3.Вставить("Улица", Улица);
    Запрос.Текст = "
    |ВЫБРАТЬ
    | *
    |Из РегистрСведений.Абоненты";

    ТМП = Запрос.Выполнить().Выгрузить();
    ТМП4 = ТМП.НайтиСтроки(ТМП3);

    Для каждого Запись из ТМП4 цикл

    СТР = Ведомость.Добавить();
    СТР.ФИО = Запись.ФИО;
    СТР.ЛицевойСчет = Запись.ЛицевойСчет;
    СТР.Льгота = Запись.Льгота;
    СТР.Дом = Запись.Дом;
    СТР.ДатаУстановки = Запись.ДатаУстановки;
    СТР.ТипПрибора = Запись.ТипПрибора;
    СТР.Значение = Запись.Значение;
    СТР.ЗаводскойНомер = Запись.ЗаводскойНомер;

    КонецЦикла;
    КонецПроцедуры;
     
  4. has

    has Гость

    Репутация:
    0
    а если сразу условие отбора в запросе указать?
     
  5. WildAnther

    WildAnther Гость

    Репутация:
    0
    тоесть поставить
    ГДЕ Улица = &Улица
    ?
     
  6. has

    has Гость

    Репутация:
    0
    да, тогда и ни ТМП, ни ТМП3, ни ТМП4 не нужны
     
  7. WildAnther

    WildAnther Гость

    Репутация:
    0
    Пробовал но в чем то был подвох, надо будет еще раз попробовать.
     
Загрузка...
Статус темы:
Закрыта.

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