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

УТ 11 Поиск уже имеющихся Клиентов

Автор burza, 08 сен 2016, 10:37

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

burza

у меня есть простенький отчет по созданым (новым) клиентам в разрезе дат:
ВЫБРАТЬ
Партнеры.Наименование,
Партнеры.БизнесРегион,
Партнеры.ОсновнойМенеджер,
Партнеры.ДатаРегистрации
ИЗ
Справочник.Партнеры КАК Партнеры
ГДЕ
Партнеры.ДатаРегистрации МЕЖДУ &ДатаРегистрацииC И &ДатаРегистрацииПо



так вот мне нужно сделать проверку новых клиентов на уже имеющихся (чтобы не было дублей) тоесть
вывести всех новых клиентов и рядом с каждым чтобы было есть такой уже в базе или нет и если есть то какой(сравнение по наименованию)

MuI_I_Ika

Добавьте в свой запрос условие по наименованию и будет то что нужно

LexaK

мне кажется у вас немного неправильно поставлена задача,
Двойников не надо с самого начала допускать в базу (что бы потом не строить всякие отчеты и не выполнять операцию по ПоискуИЗаменыДублей).
соответственно в модуле справочника Партнеры в событии перед записью, необходимо проверять есть ли уже партнер с  таким именем
Если есть то выдавать предупреждение и не записывать объект.

а для того что бы сейчас найти всех двойников, попробуйте такой запрос

ВЫБРАТЬ
Спр.Наименование,
Количество(1) как Кол
поместить Таб
ИЗ
Справочник.Партнеры КАК Спр
сгруппировать по
Спр.Наименование
имеющие
Количество(1) > 1
;
ВЫБРАТЬ
Спр.Ссылка,
Спр.ДатаРегистрации
ИЗ
Таб
левое соединение
Справочник.Партнеры КАК Спр
по Таб.Наименование = Спр.Наименование
упорядочить по
Спр.Наименование,
2
//автоупорядочивание
если помогло нажмите: Спасибо!

burza

Цитата: LexaK от 08 сен 2016, 13:44
мне кажется у вас немного неправильно поставлена задача,
Двойников не надо с самого начала допускать в базу (что бы потом не строить всякие отчеты и не выполнять операцию по ПоискуИЗаменыДублей).
соответственно в модуле справочника Партнеры в событии перед записью, необходимо проверять есть ли уже партнер с  таким именем
Если есть то выдавать предупреждение и не записывать объект.

а для того что бы сейчас найти всех двойников, попробуйте такой запрос

ВЫБРАТЬ
Спр.Наименование,
Количество(1) как Кол
поместить Таб
ИЗ
Справочник.Партнеры КАК Спр
сгруппировать по
Спр.Наименование
имеющие
Количество(1) > 1
;
ВЫБРАТЬ
Спр.Ссылка,
Спр.ДатаРегистрации
ИЗ
Таб
левое соединение
Справочник.Партнеры КАК Спр
по Таб.Наименование = Спр.Наименование
упорядочить по
Спр.Наименование,
2
//автоупорядочивание



да обработка много дублей нашла однако)  а что именно нужно в форме партнера прописать для проверки
Добавлено: 08 сен 2016, 14:25


Цитата: burza от 08 сен 2016, 14:11
Цитата: LexaK от 08 сен 2016, 13:44
мне кажется у вас немного неправильно поставлена задача,
Двойников не надо с самого начала допускать в базу (что бы потом не строить всякие отчеты и не выполнять операцию по ПоискуИЗаменыДублей).
соответственно в модуле справочника Партнеры в событии перед записью, необходимо проверять есть ли уже партнер с  таким именем
Если есть то выдавать предупреждение и не записывать объект.

а для того что бы сейчас найти всех двойников, попробуйте такой запрос

ВЫБРАТЬ
Спр.Наименование,
Количество(1) как Кол
поместить Таб
ИЗ
Справочник.Партнеры КАК Спр
сгруппировать по
Спр.Наименование
имеющие
Количество(1) > 1
;
ВЫБРАТЬ
Спр.Ссылка,
Спр.ДатаРегистрации
ИЗ
Таб
левое соединение
Справочник.Партнеры КАК Спр
по Таб.Наименование = Спр.Наименование
упорядочить по
Спр.Наименование,
2
//автоупорядочивание



да обработка много дублей нашла однако)  а что именно нужно в форме партнера прописать для проверки

И как я понимаю она будет сравнивать по наименованию. а если один запишит как ДЮСШ Аврамов а второй ДЮСШ аврамов  это уже будет разные клиенты правельно? и тут уже не отследить. только если наименование идентичны

LexaK

в запросе команда Подобно отлично справляется с таким поиском/сравнением
вот самый простой вариант поиска, (для расширения возможностей можно использовать символ '%' (любые символы))
в параметр &Наименование передаете текущее Наименование Партнера, а ссылка что бы при последующем редактировании и сохранении самого себя, не было проверки со своим наименованием.

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

ВЫБРАТЬ
    Спр.Ссылка
ИЗ
    Справочник.Партнеры КАК Спр
где
    Спр.Наименование подобно &Наименование
и   Спр.Ссылка <> &Ссылка



проверяете результат, если там что-то есть
например
Результат = Запрос.Выполнить().Выгрузить();
Отказ = Результат.Количество() > 0;

//так как уже есть результат под рукой, можете заодно показать информацию по созданным ранее Пратнерам.




если помогло нажмите: Спасибо!

burza

Цитата: LexaK от 08 сен 2016, 16:23
в запросе команда Подобно отлично справляется с таким поиском/сравнением
вот самый простой вариант поиска, (для расширения возможностей можно использовать символ '%' (любые символы))
в параметр &Наименование передаете текущее Наименование Партнера, а ссылка что бы при последующем редактировании и сохранении самого себя, не было проверки со своим наименованием.

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

ВЫБРАТЬ
    Спр.Ссылка
ИЗ
    Справочник.Партнеры КАК Спр
где
    Спр.Наименование подобно &Наименование
и   Спр.Ссылка <> &Ссылка



проверяете результат, если там что-то есть
например
Результат = Запрос.Выполнить().Выгрузить();
Отказ = Результат.Количество() > 0;

//так как уже есть результат под рукой, можете заодно показать информацию по созданным ранее Пратнерам.

Спасибо

Теги:

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

Рейтинг@Mail.ru

Поиск