|
Выбор дублей документов | ☑ | ||
---|---|---|---|---|
0
falselight
10.09.17
✎
08:53
|
БП 3.0. Необходимо выбрать дубли документов ПТУ, у которых
одинаковые Номер, Дата, Контрагент, Ответственный (возможно). Как это можно правильнее сделать? |
|||
1
Филиал-msk
10.09.17
✎
08:55
|
Вручную, Андрей!
Это будет правильно и ответственно. Никто не сможет тебе сказать, что твоя программа неправильна! |
|||
2
Филиал-msk
10.09.17
✎
08:56
|
Когда до ЗУПа-то доберешься уже?
|
|||
3
falselight
10.09.17
✎
08:58
|
(0+) Есть идея, выбирать с сортировкой по номеру,
выгружать в таблицу значений, потом как то перебирая выявлять что попадаются одинаковые подряд идущие номера, дата, контрагент... |
|||
4
Ranger_83
10.09.17
✎
09:07
|
(0) Прикалываешься?А как же контроль уникальности по номерам..
|
|||
5
mistеr
10.09.17
✎
09:09
|
(3) Норм идея, только выгружать не обязательно. Можно сразу выборку перебирать.
|
|||
6
falselight
10.09.17
✎
09:10
|
(4) Такая задача. Не нашел дубли, хотел сам сделать
не позволило, контроль уникальности номеров. Значит как то это появляется все же. Если поставили задачу такую. Сам пока не пойму. |
|||
7
falselight
10.09.17
✎
09:11
|
(5) А как это будет в выборке?
Не совсем пока представляю. Если к примеру 2 дубля идет или 3, а может и более? |
|||
8
Ranger_83
10.09.17
✎
09:12
|
(6) Только при обмене в РИБ возможно.
|
|||
9
falselight
10.09.17
✎
09:14
|
(8) Было так это сформулированно, -
В настоящее время с учетом внесения изменений поставщиками в текущие документы в 1С возникают дубли, документы от поставщиков с одним номером, датой и суммой документа. |
|||
10
Ranger_83
10.09.17
✎
09:17
|
(9) Да тут речь наверняка о входящем номере и дате :)
|
|||
11
falselight
10.09.17
✎
09:19
|
(10) Ну написано было как написано.
А что это за входящие номер и дата, не вижу таких в ПТУ среди реквизитов. |
|||
12
falselight
10.09.17
✎
09:21
|
А ну понял эти видимо, -
НомерВходящегоДокумента ДатаВходящегоДокумента. |
|||
13
Ranger_83
10.09.17
✎
09:26
|
||||
14
falselight
10.09.17
✎
09:45
|
(13) То есть в БП 3.0 есть средство для этого типовое?
Ну может они захотят что то ещё в этой обработке, вероятность что придется делать свое есть наверное все же. А эта обработка выводит перечень совпадающих документов с номерами? Спасибо, нужно разбираться. |
|||
15
falselight
10.09.17
✎
09:55
|
Мутная какая то эта обработка.
Что то нашла, но что это не понятно. Где увидеть дубли в журнале? Перешел в список, вроде дублей нет. |
|||
16
falselight
10.09.17
✎
09:58
|
(13) Не понятно что она вообще понимает под дублями (
|
|||
17
mistеr
10.09.17
✎
10:25
|
(7) Очень просто. Запоминаешь текущие значения ключевых полей.
Пока Выборка.Следующий() Цикл Если Выборка.Номер = ПредНомер Тогда // дубль КонецЕсли; ... ПредНомер = Выборка.Номер; КонецЦикла; |
|||
18
falselight
10.09.17
✎
10:55
|
(17) Ок, попрактикуюсь.
Так и думал что как время дойдет до самого написания кода, там и будут идеи появляться. Пока посмотрел 13, принцип работы пока не понял. Так все наглядно задаешь поля что считается дублем и выбираешь. Но что выбралось не понятно. Нужно время что бы понять. |
|||
19
falselight
10.09.17
✎
11:08
|
(17) Ну а если нужно будет вывести и первый вариант и его
дубль? В выборке же не сделать шага назад, а в таблице значений можно. |
|||
20
falselight
10.09.17
✎
11:29
|
Первый вариант, не знаю на сколько правильный. Задача
в получении списка элементов и всех их имеющихся дублей. Функция ПолучитьТзДублей() ТзДублей = Новый ТаблицаЗначений; ТзДублей.Колонки.Добавить("ОригинальнаяСсылка"); ТзДублей.Колонки.Добавить("Дубль"); Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ПоступлениеТоваровУслуг.Номер КАК Номер, | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Контрагент, | ПоступлениеТоваровУслуг.Ответственный, | ПоступлениеТоваровУслуг.Ссылка |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Проведен = ИСТИНА | И ПоступлениеТоваровУслуг.Дата МЕЖДУ &НачДата И &КонДата | |УПОРЯДОЧИТЬ ПО | Номер"; Запрос.УстановитьПараметр("НачДата", ПериодОтчета.ДатаНачала); Запрос.УстановитьПараметр("КонДата", ПериодОтчета.ДатаОкончания); Рез = Запрос.Выполнить(); ПредЭлемент = неопределено; Если Не Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.Номер = ПредЭлемент.Номер Тогда // дубль НоваяСтрока = ТзДублей.Добавить(); НоваяСтрока.ОригинальнаяСсылка = ПредЭлемент; // НоваяСтрока = ТзДублей.Добавить(); НоваяСтрока.ОригинальнаяСсылка = Выборка.Ссылка; КонецЕсли; // ПредЭлемент = Выборка.Ссылка; КонецЦикла; // Если ТзДублей.Количество() <> 0 Тогда Возврат ТзДублей; Иначе Возврат 0; КонецЕсли; Иначе Возврат 0; КонецЕсли; КонецФункции |
|||
21
АнтонБ
10.09.17
✎
16:33
|
(0)
В запросе select ..здесь через зaпятую поля.. group by ..здесь через зaпятую поля.. having count(*)>1 Религия не позволяет? |
|||
22
falselight
10.09.17
✎
17:40
|
(21) Что, что...?
|
|||
23
falselight
10.09.17
✎
17:49
|
Фили, ты то чё гасишься?
|
|||
24
АнтонБ
10.09.17
✎
17:54
|
(22) Это запрос который показывает все дубли
|
|||
25
АнтонБ
10.09.17
✎
17:56
|
(22) По выбранным полям через запятую
|select | ПоступлениеТоваровУслуг.Номер КАК Номер, | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Контрагент, | ПоступлениеТоваровУслуг.Ответственный from ПоступлениеТоваровУслуг group by | ПоступлениеТоваровУслуг.Номер КАК Номер, | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Контрагент, | ПоступлениеТоваровУслуг.Ответственный having count(*)>1 |
|||
26
АнтонБ
10.09.17
✎
17:57
|
(23) Кто Вас к конфигуратору пустил?
|
|||
27
ildary
10.09.17
✎
18:27
|
(26) ты еще не понял с кем связался (звездой форума) - почитай прочие его темы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |