Проверка на дубли при программном создании документа
По теме из базы знаний
- Программный проект: соотносим теорию с практикой
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2
- Автоматизированная проверка конфигураций… и пара слов о стандартах разработки
- Разработка и сценарное тестирование с Vanessa-ADD. Концепция, теория и сквозной пример создания сценария
- Обмен 1С с Честным Знаком для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
перед созданием документа 2 делать запрос к документам и искать тот у которого документ-основание документ 1. Если результат запроса пустой, тогда создавать документ 2, иначе выводить сообщение что документ уже создан и дубль недопускается.
(7) добавьте для документа поступление ввод на основании - что на его основании создается документ отгрузка. В документе отгрузка добавьте реквизит документ-основание. Напишите конструктором код заполнения данных заполнения ввода на основании. Создайте документ отгрузка в режиме 1с. Потом когда у вас уже есть отгрузка, приступайте к проверке есть ли эта самая отгрузка.
(11)
Можно в документе 1 ввести реквизит - ссылку на документ 2 и заполнять его после создания документа 2. а при попытке создания проверять - заполнена ли ссылка: Если да - отказ в создании дубля.
Если ни то, ни то, то задача не решается в принципе.
Возражу сам себе. :)
Можно в документе 1 ввести реквизит - ссылку на документ 2 и заполнять его после создания документа 2. а при попытке создания проверять - заполнена ли ссылка: Если да - отказ в создании дубля.
(18)
будет менеджер методом тыка определять какой же документ указать.
Почему "методом тыка"? Поскольку данные в документ 2 заполняются из конкретного документа 1, то не составляет труда в процедуре заполнения прописать в реквизит документа 1 ссылку на создаваемый документ 2.
(23)
В качестве альтернативы могу предложить вставить в документ 1 текстовый реквизит, в который будет записываться не ссылка на документ 2, а его номер+дата.
И тогда проверять не только заполненность этого реквизита, но и существование такого документа через Документы.Документ2.НайтиПоНомеру() - если нету, то можно создавать.
Опять-таки, можно и тут придумать возражения - а если документ перенумеруют или изменят его дату? На этот случай см. выше - автор про это промолчал.
если документ 2 пометят на удаление, либо вообще удалят, ваша проверка не сработает
Не факт, что это вообще имеет значение - деталей постановки задачи автор не сообщил.
В качестве альтернативы могу предложить вставить в документ 1 текстовый реквизит, в который будет записываться не ссылка на документ 2, а его номер+дата.
И тогда проверять не только заполненность этого реквизита, но и существование такого документа через Документы.Документ2.НайтиПоНомеру() - если нету, то можно создавать.
Опять-таки, можно и тут придумать возражения - а если документ перенумеруют или изменят его дату? На этот случай см. выше - автор про это промолчал.
(25)
В принципе, это тоже реквизит документа 2, только скрытый (системный). Его недостатком можно считать разве что то, что удалять документы 1 станет труднее - на них будут ссылки в документах 2, как раз ДокументОснование.
Если проблема в этом, то вариант в (24) - оптимален.
чем не устраивает его "документ основание" вообще не понял...
Ну не хочет он ввода на основании!.. почему-то.
В принципе, это тоже реквизит документа 2, только скрытый (системный). Его недостатком можно считать разве что то, что удалять документы 1 станет труднее - на них будут ссылки в документах 2, как раз ДокументОснование.
Если проблема в этом, то вариант в (24) - оптимален.
У вас всегда на основании поступления может быть только одна отгрузка? Вообще в типовых для этого используют остаточный регистр. ТоварыКОтгрузке. Допустим документ поступление делает движение приход, а отгрузка Расход. При провдении отгрузки проверяется остаток. Если ушел в минус, тогда, что то не так. И создавать документ нельзя. Это позволит создавать несколько отгрузок с разными товарами из поступления, на основании поступления.
Настроить критерии отбора, во время заполнения по 1 документу, проверять запросом по критерию отбора связанные документы по типу документа. Правда это дополнительная проверка будет, с настроенным критерием можно просто в документе открыть отчет по связанным документам и проверить все созданные в связке доки.
Собственно сама настройка критерия отбора займет пару минут, В сам критерий отбора добавить тип данных(документ 1) который будет искать (если его нет) и состав дополнить нужным документом(2 док), предварительно добавив в этот документ(2) реквизит с типом 1 документа.
Собственно сама настройка критерия отбора займет пару минут, В сам критерий отбора добавить тип данных(документ 1) который будет искать (если его нет) и состав дополнить нужным документом(2 док), предварительно добавив в этот документ(2) реквизит с типом 1 документа.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)