Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 мая 2024, 10:33

Убрать дубликаты из ТЧ

Автор Sasha1C, 10 окт 2023, 14:50

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

Sasha1C

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

Есть ли какой-то более простой способ отфильтровать и убрать все дубликаты из ТЧ, или другой метод выйти из текущей ситуации? Заранее спасибо!

GetNight

Sasha1C,

ВЫБРАТЬ РАЗЛИЧНЫЕ ССЫЛКА

Sasha1C

GetNight, С выбрать различные ссылка, выдает ошибку
{(2, 2)}: Неправильный псевдоним "РезервыНоменклатурыОстатки.Основание"
<<?>>РезервыНоменклатурыОстатки.Основание КАК Основание,
А методом выбрать различные, выдает тот же результат с дубликатами.
Может будут более конкретные замечания, касаемо моего кода?

GetNight

Sasha1C, прошу прощения, ответил шаблоном

Я правильно понял, вы пробовали так?
Запрос.Текст  = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |    РезервыНоменклатурыОстатки.Основание КАК Основание,
                    |    РезервыНоменклатурыОстатки.Номенклатура КАК Номенклатура,
                    |    РезервыНоменклатурыОстатки.РезервОстаток КАК РезервОстаток,
                    |    Счет.Дата КАК Дата
                    |ИЗ
                    |    РегистрНакопления.РезервыНоменклатуры.Остатки КАК РезервыНоменклатурыОстатки
                    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Счет КАК Счет
                    |        ПО РезервыНоменклатурыОстатки.Основание = Счет.Ссылка
                    |ГДЕ
                    |    РезервыНоменклатурыОстатки.РезервОстаток > 0";

Sasha1C

GetNight, GetNight, Да и также пробовал
"ВЫБРАТЬ РАЗЛИЧНЫЕ ССЫЛКА
                    |    РезервыНоменклатурыОстатки.Основание КАК Основание,
                    ...................

Но с этим исполнением вылазит ошибка

GetNight

Sasha1C, тут и должна быть ошибка. фразу "РАЗЛИЧНЫЕ ССЫЛКА" это я кинул как общий пример, а не конкретно для вашего случая


Цитата: Sasha1C от 10 окт 2023, 16:22Да и также пробовал

Можете в текст запроса мышкой стать, нажать правую кнопку и выбрать "Конструктор запроса"?
Какую ошибку выдаёт?

Sasha1C

GetNight,Ошибка "Неправильный псевдоним "РезервыНоменклатурыОстатки.Основание"
<<?>>РезервыНоменклатурыОстатки.Основание КАК Основание,"

GetNight

Sasha1C, выглядит так, как будто у вас совсем другой запрос... можете мне скопировать текст текущего запроса ещё раз?

Sasha1C

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

GetNight

Sasha1C, именно.

Вы не заметили, что в моем сообщении #3

не ВЫБРАТЬ РАЗЛИЧНЫЕ ССЫЛКА а ВЫБРАТЬ РАЗЛИЧНЫЕ

Теги: ТЧ запросы 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск