Другие языки программирования и технологии

Можно ли проводить документы в 1С, без регистров сведений? То есть тупо через справочник

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

Но, например, провели вы документ, в справочнике у устройства изменили его состояние. А потом документ удалили. Значит, надо еще предусмотреть код, чтобы при пометке документа на удаление (или при отмене проведения) исправлять статус устройства обратно. А теперь представим два варианта.
Первый вариант:
- человек провел документ (статус стал "эксплуатируется");
- поняли, что ошиблись и документ пометили на удаление (статус стал "не эксплуатируется");
- завели правильный документ (статус стал "эксплуатируется").
Второй вариант:
- человек провел документ (статус стал "эксплуатируется");
- понял, что ошибся и завел правильный документ (статус стал "эксплуатируется", хотя он и так был такой);
- старый документ пометили на удаление (статус стал "не эксплуатируется").
Вот и неверный итог, документ же есть проведенный!

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

В общем, регистр сведений будет гораздо лучше. Вы исключаете риски ошибок (как выше, если писать напрямую в справочник, то пользователь получается должен делать все в идеальной последовательности и не ошибаться) + не надо думать: "а в скольки разных местах надо предусмотреть код?" - при проведении, при отмене проведения, а вдруг еще где? А так, делая движения по регистру, мы просто указываем в свойствах документа, что его движения очищаются при отмене проведения и все. Нам надо только при проведении записать движение в регистр, а при удалении документа они сами будут оттуда стираться.
Жанна Когинова
Жанна Когинова
8 526
Лучший ответ
Ну, в принципе, можно вообще и без справочника.
К примеру, типовой „Акт сверки“ — ни каких движений не делает
Сергей Селюцкий не, у меня там никуда без справочником. Мне главное знать, сможет ли движение документа изменить конкретную запись в справочнике, например у устройства изменится на состояние "эксплуатируется" , и знать бы как это делать