8.х Запрос выявить повторяющиеся документы.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Franc333_2008, 12 фев 2010.

  1. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Конфигурация Астор ТД 6.0
    Возникла следующая ситуация

    Допустим есть 2 базы

    1ая база центр
    2ая база магазина

    В базе 1 сумма по товарам базы2 100рублей
    в базе 2 сумма по товарам 80 рублей

    А должно быть сумма по товарам базы 1 по базе2 = сумме по товарам базы 2

    При анализе случайно в базе 1 нашли что из базы 2 при обмене поступило 2 одинаковых документа (ошибка обмена) Разное у них только время , всё остальное совпадает.

    Теперь хорошо бы выявить есть ли ещё в центральной базе такие повторяющиеся документы .


    Что получить эти сведения , создаю запрос через консоль запросов .

    Суть отобрать все Приходные накладные у которых номер Документа ( не номер документа в центральной базе - т.к. нумерация начинается с начала года и они могут повторятся и это не будет свидетельствовать об ошибке) имеется в виду номер документа полученного от поставщика совпадает , а также совпадает сумма по документам чтобы исключить ошибки (допустим есть 2 документа у которых действительно совпал номер но они от разных контрагентов или с разной суммой).


    Не знаю как это можно сделать, прошу вас помочь .

    Что-то с оператором В ???

    Пока остановился на следующем варианте - а как работает ещё не проверял.

    ВЫБРАТЬ
    ПриходнаяНакладная.НомерДокумента,
    ПриходнаяНакладная.ДатаДокумента,
    ПриходнаяНакладная.Номер,
    ПриходнаяНакладная.Контрагент,
    ПриходнаяНакладнаяЗапрос2.НомерДокументаЗапрос2,
    ПриходнаяНакладнаяЗапрос2.ДатаДокументаЗапрос2,
    ПриходнаяНакладнаяЗапрос2.НомерЗапрос2,
    ПриходнаяНакладнаяЗапрос2.КонтрагентЗапрос2

    ИЗ
    Документ.ПриходнаяНакладная КАК ПриходнаяНакладная
    Документ.ПриходнаяНакладная КАК ПриходнаяНакладнаяЗапрос2

    ГДЕ
    ПриходнаяНакладная.НомерДокумента = ПриходнаяНакладнаяЗапрос2.НомерДокументаЗапрос2
  2. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Обмен у Вас в одном направлении, и если да, то в каком?
  3. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Обмен у нас в обоих направлениях !
    По видимому какой-то сбой был и вот такой результат - это моя догадка - может что другое ?
  4. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Есть общая мысль

    Допустим делаем выборку всех документов приходная накладная.
    формируем виртуальную таблицу - берем НомерДокумента из 1й строки
    и сравниваем с остальными
    если не совпала то делее со 2й строкой и т.д. совпала то копируем(выружаем)
    в результирующую таблицу . ...ну как-то так или можно проще ?
    Вообще не уверен и не знаю как тут такое работает .
  5. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    В запросе ругается не пойму на что ? я в источниках 2 раза указываю один и тот же объект ! Так можно делать ?
  6. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Скорее всего кто-то удалил документы, а потом создал новые точно такие же, однако у каждого объекта есть гуиды, а гуиды разные, вот он и продублировал объекты еще раз, т.к. это разные объекты, у них ГУИД разный.
    решение одно, сидеть перекапывать всё ручками.
    Можно всё если осторожно, запрос показывайте, дипломированных телепатов на этом форуме не имеется, токмо учимся :unsure:
  7. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    ВЫБРАТЬ
    ПриходнаяНакладная.НомерДокумента,
    ПриходнаяНакладная.ДатаДокумента,
    ПриходнаяНакладная.Номер,
    ПриходнаяНакладная.Контрагент,
    ПриходнаяНакладнаяЗапрос2.НомерДокументаЗапрос2,
    ПриходнаяНакладнаяЗапрос2.ДатаДокументаЗапрос2,
    ПриходнаяНакладнаяЗапрос2.НомерЗапрос2,
    ПриходнаяНакладнаяЗапрос2.КонтрагентЗапрос2

    ИЗ
    Документ.ПриходнаяНакладная КАК ПриходнаяНакладная
    Документ.ПриходнаяНакладная КАК ПриходнаяНакладнаяЗапрос2

    ГДЕ
    ПриходнаяНакладная.НомерДокумента = ПриходнаяНакладнаяЗапрос2.НомерДокументаЗапрос2
    ...........это черновой вариант или вообще не вариант.
  8. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Номер КАК Номер,
    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
    ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    ИТОГИ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка)
    ПО
    Номер 
    
    При проходе по группировке "Номер", если в поле ссылка больше 1, тогда задвоенные.
  9. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Проверю . отпишусь .
  10. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое :unsure:
    но это не совсем то :smile:

    вот вариант который я в итоге использовал


    ВЫБРАТЬ
    ПриходнаяНакладная.НомерДокумента как НомерДокумента,
    ПриходнаяНакладная.ДатаДокумента как ДатаДокумента ,
    ПриходнаяНакладная.Ссылка как Ссылка,
    ПриходнаяНакладная.Номер как Номер,
    ПриходнаяНакладная.Контрагент как Контрагент

    ИЗ
    Документ.ПриходнаяНакладная КАК ПриходнаяНакладная

    ИТОГИ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка)
    ПО
    Номер


    Результат запроса действительно выдает документы с повторящимися номерами но нужно что бы повторялись номера и контрагент
    как добавить условие по контрагенту ?
  11. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код:
     ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Номер,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка,
    ПоступлениеТоваровУслуг.Номер + ПоступлениеТоваровУслуг.Контрагент.Код КАК Поиск
    ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    ИТОГИ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка)
    ПО
    Поиск
    
  12. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Использовал следующий вариант

    ВЫБРАТЬ

    ПриходнаяНакладная.НомерДокумента КАК НомерДокументаКонтрагента ,
    ПриходнаяНакладная.ДатаДокумента КАК ДатаДокументаКонтрагента,
    ПриходнаяНакладная.Номер КАК НомерДокументаВБазе1С,
    ПриходнаяНакладная.Контрагент КАК Контрагент,
    ПриходнаяНакладная.Ссылка КАК Ссылка,
    ПриходнаяНакладная.Номер+ПриходнаяНакладная.НомерДокумента КАК Поиск
    //оба значения должны быть в цифрового типа
    ИЗ
    Документ.ПриходнаяНакладная КАК ПриходнаяНакладная

    ИТОГИ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Ссылка)
    ПО
    Поиск

    Т.е по номеру документа в базе 1с и по номеру докумнета полученного от поставщика

    В итоге в выводимом поле поиск значение выглядит как "конкатенированный"(прикрепленный друг к другу)
    номер1с и номердокумента от поставщика - отбора к сожалению не произошло !!!

    так же выводятся цифры 1 2 3 - можно как-то по ним "отсечку организовать" - допустим чтобы выодились только записи где цифра = 2 ?
  13. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Какого отбора?
    только последующей обработкой в процедуре.
  14. TopicStarter Overlay
    Franc333_2008
    Offline

    Franc333_2008 Опытный в 1С

    Регистрация:
    12 ноя 2009
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Под отбором я имел в виду следующее:

    допустим найдены 2 документа у них совпали номера документов - затем сверяются номера документов контрагента (2е условие) если не совпали , значит это не задвоенные документы , следовательно в результат их и незачем включать .
  15. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Делаете перебор итогов "Поиск", если значение поля "Ссылка" меньше 2 - пропускаете, в другом случае получаете строки текущего итога, где и будут задвоенные документы.
  16. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Вам проще будет перебором всё это дело проверить и сформировать списки дублей для последующего устанения.
Похожие темы
  1. Almius
    Ответов:
    8
    Просмотров:
    2.720
  2. Franc333_2008
    Ответов:
    15
    Просмотров:
    1.570
  3. v0233
    Ответов:
    4
    Просмотров:
    2.188
  4. nestov
    Ответов:
    13
    Просмотров:
    1.800
  5. Evgii
    Ответов:
    19
    Просмотров:
    618
Загрузка...

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