[РЕШЕНО] Грамотное применение инструментов

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Ростислав, 28 июл 2016.

  1. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Дано
    Есть документ "Прием на работу" и соответственно справочник "Сотрудники".

    Документ имеет простые поля: ФИО, Должность, Подразделение, Дата приема на работу.

    Справочник имеет все те же реквизиты. Должность, Подразделение, Дата приема - периодические

    Никаких записей в регистры не производится.​

    Вопрос
    Как применить инструменты 1С Предприятие 7.7 так, чтобы при успешном составлении документа производилась запись нового сотрудника в справочник, а при аннулировании документа - удалялась?​

    --------------------------------------------------

    Я нашел три решения. Какой из них наиболее верный, с точки зрения политики применения инструментов?

    1. Документ "Прием на работу" не требует проведения.
      Т.е. при сохранении документа записывается сотрудник в нужную группу справочника и устанавливаются периодические реквизиты. При удалении документа автоматически удаляется и сотрудник из справочника

    2. Во время сохранения документа делается запись сотрудника в справочник, а уже во время проведения документа устанавливаются периодические реквизиты с помощью метода УстановитьРеквизитСправочника(). При отмене проведения стираются периодические реквизиты на число документа, а при удалении документа удаляется запись полностью.

    3. При сохранении документа запись сотрудника в справочник НЕ производится.
      Все записи и установки периодических переменных с помощью метода УстановитьРеквизитСправочника() производятся при проведении документа. Соответственно при отмене проведения запись из справочника удаляется полностью

    Пожалуйста, подскажите, какой алгоритм наиболее правильный, требует ли он еще каких-нибудь действий, и почему он наиболее правильный?

    Спасибо.
    Последнее редактирование: 28 июл 2016
  2. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Простите за занудство, но зачем так много внимания уделять удалению этого документа? Вам приходится часто его удалять? Либо прием на работу есть, либо его нет. Сотрудник либо есть в справочнике, либо его нет. Сотрудник может быть перенесен в группу Уволенные, но полностью обычно не удаляется даже после увольнения.
    Не бывает правильных или неправильных способов распроведения. Главное - чего мы хотим добиться в итоге?
    Ростислав нравится это.
  3. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Я пришел из другой сферы программирования и просто привык делать такое взаимодействие с системой, чтобы пользователю приходилось делать минимальное кол-во действий для достижения результата, а так же не позволять пользователю нарушать "экосистему". Кроме того, это позволяет избегать накопления ненужной информации.

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


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

    Безусловно. Перенесение в группу "Уволенные" обычно производится документом "Увольнение сотрудника" (мое предположение). И оттуда не удаляется, т.к. через год этот же сотрудник может прийти и снова устроиться на работу, и тогда будет создан не новый элемент, а старый перенесен из группы "Уволенные" в группу с работающими на данный момент.

    Согласитесь, все три способа, которые я привел для решения этой задачи вполне себе имеют право на жизнь. И все они по-своему правильные. Но, исходя из каких-то неизвестных мне, в силу отсутствия опыта разработки на 1с, подводных камней, какой-то из них может оказаться более отказоустойчивым/поддерживаемым/расширяемым и т.п. Именно это я хотел услышать в качестве ответа на мой вопрос. Ведь для того, чтобы добиться требуемого результата можно пойти разными путями.
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Если документ нужен только для заполнения справочника, то он не имеет смысла, т.к. все равно что заполнять - форму справочника или документа с одинаковыми реквизитами.
  5. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    А если в справочнике есть такие реквизиты как "Дата Увольнения", "Причина увольнения" и т.п., а они на стадии принятия сотрудника на работу не нужны, то просто довериться тому, кто будет эту форму заполнять, что он заполнит все как надо?

    И в этом случае как будут заполняться периодические реквизиты, по дате заполнения? А если занести сотрудника в базу задним числом понадобилось?

    Спасибо за ответы.
  6. man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    А если эти поля закрыть?
    И не факт что кадровик заполнит правильно документ, а вот заполнять справочник он уже привык.
  7. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Всем привет!
    "Защита от дурака" нужна хоть в документах, хоть в справочниках.
    Подумав, соглашусь, что документом будет удобнее. Документ пригодится для печати бумажных приказов и т.п. Все это можно сделать из справочника, но документом привычнее для пользователя.
    Одно "но": в документе делать выбор сотрудника из справочника и заполнять уже его форму, а не делать отдельные идентичные реквизиты.
    Для справочника даты закрыть и привязать только к проведенным документам Прием и Увольнение.
    Ростислав нравится это.
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Документы должны фиксировать какие-то телодвижения в базе (с подвязкой проведения), справочники обычно подходят для хранения справочной инфы, чтобы не набирать одно и то же по 100500 раз. Можно конечно сделать через регистры сведений, и будет выглядеть как документ :) (семерку не знаю, сужу по восьмерке)
  9. TopicStarter Overlay
    Ростислав
    Offline

    Ростислав

    Регистрация:
    26 июл 2016
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Т.е. получается, что во время выбора сотрудника для приема на работу, если его еще нет в справочнике, кадровик просто вводит новый элемент записывая ФИО сотрудника, после чего выбирает его и заполняет дату приема, проводя при этом документ.

    Спасибо. Это действительно наилучший вариант. Таким образом все формы используются, используются по назначению, а силу имеет только проведенный документ.

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