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

Механизм выполняющий задачу анкеты контрагента с автоматическим заполнением спра

Автор Powerman, 17 окт 2012, 11:37

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

Powerman

Конфигурация Управление торговым предприятием для Украины 1.2.9 (очень похожа на УПП)
Руководством поставлена задача сделать документ (обработку) в общем механизм который будет выполнять задачу анкеты контрагента с автоматическим заполнением справочника «Контрагенты» после проверки и проведения руководителем на правильность введённых данных, что бы менеджеры не заполнял данными «от фонаря». В справочнике используются связанные справочники, регистры сведений и т.д.
У кого какие мысли по поводу реализации задачи?
Заранее спасибо за интересные мысли и реальную поддержку.

mixqn

Я очень похожую задачу недавно делал :)
Предлагаю добавить признак "статус контрагента" и им управлять. Статусы могут быть такими:

  • Ввод данных (новый)
  • Согласование
  • Утвержден (рабочий)
  • Отклонен (нерабочий)
  • На доработку
далее можно расширить своими вариантами.
Порядок работы примерно такой: при заведении контрагента ставится статус "ввод данных" (ответственный за контрагента статус менять не может - он меняется программно), как только сотрудник решил, что все данные он завел - жмет некую кнопочку "отправить на согласование", в этот момент руководитель получает оповещение (по почте например или в панели текущих задач, или там и там) о том, что нужно контрагента согласовать. Он его открывает (из панели задач будет удобно), проверяет и меняет статус (либо выбором статуса вручную, либо кнопками - тогда статус меняется программно).
И далее запретить во всех документах работу с контрагентами, статус которых отличен от "утвержден".
Добавлено: 17 окт 2012, 11:54


за денюшку могу помочь с реализацией ;)

Powerman

Цитата: mixqn от 17 окт 2012, 11:52
Я очень похожую задачу недавно делал :)
Предлагаю добавить признак "статус контрагента" и им управлять. Статусы могут быть такими:

  • Ввод данных (новый)
  • Согласование
  • Утвержден (рабочий)
  • Отклонен (нерабочий)
  • На доработку
далее можно расширить своими вариантами.
Порядок работы примерно такой: при заведении контрагента ставится статус "ввод данных" (ответственный за контрагента статус менять не может - он меняется программно), как только сотрудник решил, что все данные он завел - жмет некую кнопочку "отправить на согласование", в этот момент руководитель получает оповещение (по почте например или в панели текущих задач, или там и там) о том, что нужно контрагента согласовать. Он его открывает (из панели задач будет удобно), проверяет и меняет статус (либо выбором статуса вручную, либо кнопками - тогда статус меняется программно).
И далее запретить во всех документах работу с контрагентами, статус которых отличен от "утвержден".
Добавлено: 17 окт 2012, 11:54


за денюшку могу помочь с реализацией ;)
Вопрос не в утверждении, а в реализации заполнения справочника из документа... Если бы в справочнике были только статические реквизиты вопросов не было бы, а так в справочнике есть связанные справочники к примеру «Контактные лица» где контактное лицо может быть одно а может быть контактных лиц семь... Также с этим справочником связан регистр сведений где указаны адреса, телефоны, и т.д. и т.п. список может увеличиваться. Интересует вопрос как лучше реализовать данную задачу.

mixqn

ну так а чем плох вариант с утверждением, не пойму?
пока не утвердили контрагента, работать с ним нельзя - а до этого момента пусть себе правят значения всех реквизитов, связанных справочников, регистров и так далее. не годится? чем именно?
Добавлено: 17 окт 2012, 12:51


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

mixqn

Есть другой вариант (но еще надо смотреть, насколько он реализуем): делаете вспомогательный справочник «Проект контрагента» (он нужен только для того, чтобы иметь уникальный идентификатор, никаких реквизитов в нем не будет) + регистр «значения реквизитов контрагента».
Структура регистра:
Измерения:   
ПроектКонтрагента  - СправочникСсылка.ПроектКонтрагента
ИмяТабЧасти - строка
НомерСтроки – число
Реквизит – строка
Ресурсы
Значение – составной тип – любая ссылка, строка, число, булево.
Далее создаете форму, которая полностью будет рисоваться программно по метаданным справочника контрагенты (та еще задачка...) – в форме располагаете все реквизиты. Пользователь их заполняет, результат пишется в регистр (ИмяТабЧасти и Реквизит содержат имена объектов метаданных – таб. частей и реквизитов справочника контрагенты)
Потом где-то нужен механизм переноса из этого регистра в собственно справочник.

Такое решение (по метаданным) будет относительно универсальным и избавит вас от необходимости переписывания структуры данных каждый раз, как в контрагентах появляется что-то новое. Но способ трудоемкий по всей видимости.

Powerman

Цитата: mixqn от 17 окт 2012, 12:47просто суть в том, что если вы по каким-то причинам не хотите давать редактировать именно конечные данные, а хотите сначала собрать все необходимые данные где-то
да, именно в этом задача...  :mellow:  :dfbsdfbsdf:

Теги:

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

Рейтинг@Mail.ru

Поиск