8.х Почему двоятся записи?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Natalika25, 21 окт 2011.

  1. TopicStarter Overlay
    Natalika25
    Offline

    Natalika25 Опытный в 1С

    Регистрация:
    21 сен 2011
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Ребят, в документе при выполнении вот этого кода почему то двоятся записи.... не могу понять почему, помогите пожалуйста!

    &НаСервере
    Процедура ЗаполнитьТЧПоказания()
    Документ = РеквизитФормыВЗначение("Объект");
    Если Документ.ЭтоНовый() Тогда

    Запрос = Новый Запрос;
    Запрос.Текст =
    ""ВЫБРАТЬ
    | ПриборыУчета.Владелец.Владелец КАК Контрагент,
    | ПриборыУчета.Владелец КАК ОбъектВодопотребления,
    | ПриборыУчета.Ссылка КАК Водомер,
    | ПриборыУчета.ВидРасчета КАК ВидРасчета,
    | ЕСТЬNULL(ПоказанияПриборовУчетаСрезПоследних.Показание, 0) КАК Показание,
    | ПоказанияПриборовУчетаСрезПоследних.Период КАК Период,
    | ЕСТЬNULL(ПоказанияПриборовУчетаСрезПоследних.Потребление, 0) КАК Потребление
    |ИЗ
    | Справочник.ПриборыУчета КАК ПриборыУчета
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказанияПриборовУчета.СрезПоследних КАК ПоказанияПриборовУчетаСрезПоследних
    | ПО (ПоказанияПриборовУчетаСрезПоследних.ПриборУчета = ПриборыУчета.Ссылка)
    | И ПриборыУчета.Владелец.Владелец = ПоказанияПриборовУчетаСрезПоследних.Контрагент
    |
    |УПОРЯДОЧИТЬ ПО
    | ПриборыУчета.Владелец.Владелец.Код,
    | ПриборыУчета.Владелец.НаселенныйПункт.Код,
    | ПриборыУчета.Владелец.Улица.Код,
    | ПриборыУчета.Владелец.Дом,
    | ПриборыУчета.Владелец.Корпус,
    | ПриборыУчета.Владелец.Квартира";
    Запрос.УстановитьПараметр("ПериодОтбора", Документ.Дата); //Дата
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    Для Каждого СтрокаЗапроса Из РезультатЗапроса Цикл
    ПриборыУчета = Документ.Показания.Добавить();
    ПриборыУчета.ВидРасчета = СтрокаЗапроса.ВидРасчета;
    ПриборыУчета.КодПотребителя = СтрокаЗапроса.Контрагент.Код;
    ПриборыУчета.Контрагент = СтрокаЗапроса.Контрагент;
    ПриборыУчета.ОбъектВодопотребления = СтрокаЗапроса.ОбъектВодопотребления;
    Если Найти(СтрокаЗапроса.Водомер.Наименование, "Лимит") > 0 Тогда
    ПриборыУчета.Потребление = СтрокаЗапроса.Потребление;
    Иначе
    ПриборыУчета.ПоказаниеПредыдущее = СтрокаЗапроса.Показание;
    КонецЕсли;
    ПриборыУчета.ПриборУчета = СтрокаЗапроса.Водомер;
    КонецЦикла;
    Иначе

    КонецЕсли;
    ЗначениеВРеквизитФормы(Документ,"Объект");

    КонецПроцедуры
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Запрос в консоли запускали?
  3. TopicStarter Overlay
    Natalika25
    Offline

    Natalika25 Опытный в 1С

    Регистрация:
    21 сен 2011
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Нет((( не смогла этого сделать почему то в этой конфе консоль у меня открылась пустым окном....
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Ну у вас походу управляемое приложение:), соответственно и консоль нужна под упрявляемые формы.
  5. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    (на вскидку)
    а условия соединения Справочника и РС правильные? я бы поменяла местами вот это
    ПриборыУчета.Владелец.Владелец = ПоказанияПриборовУчетаСрезПоследних.Контрагент
    З.Ы. думаю также не обойтись без группировки, лучше бы все таки в консоли проверить результат
  6. TopicStarter Overlay
    Natalika25
    Offline

    Natalika25 Опытный в 1С

    Регистрация:
    21 сен 2011
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Подскажите пожалуйста где её можно найти!!!
  7. TopicStarter Overlay
    Natalika25
    Offline

    Natalika25 Опытный в 1С

    Регистрация:
    21 сен 2011
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    И еще вот такая закономерность: если распровести все предыдущие документы и провести только последний, а затем создать новый и выполнить эту же операцию, тогда двоение пропадает!
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Вот, можете скачать.

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