При работе в программе 1С:Бухгалтерия 3.0 или 1С:Управление торговлей 11 пользователи часто сталкиваются с тем, что программа проявляет излишнюю «самостоятельность», автоматически подставляя конкретное физическое лицо в строку «Отпуск груза произвел» в печатной форме ТОРГ-12. Это удобно, если отпуск всегда производит один и тот же кладовщик, но становится проблемой, если данные нужно оставлять пустыми или они меняются. Давайте подробно разберем, как устроена эта логика и какими способами можно отключить автозаполнение.
Первым делом проанализируем настройки мест хранения товаров. В большинстве случаев программа берет данные об ответственном лице непосредственно из карточки склада, указанного в документе реализации. Рассмотрим пошагово, как это проверить:
Реализация (акт, накладная).Важный нюанс: Чтобы изменения вступили в силу для уже созданного документа, иногда требуется перевыбрать склад в самой реализации, чтобы сработали стандартные обработчики заполнения.
Если в складе ответственный не указан, а фамилия все равно появляется, нам нужно заглянуть внутрь самого документа. Программа 1С позволяет переопределять ответственных лиц для каждой конкретной сделки.
Рассмотрим порядок действий в документе РеализацияТоваровУслуг:
Однако, если вам приходится делать это в каждом новом документе, значит, срабатывает один из алгоритмов автоподстановки, которые мы разберем далее.
Если вы хотите раз и навсегда запретить программе выводить ФИО в этой строке, независимо от настроек складов и документов, мы можем изменить сам макет печатной формы. Это позволит оставить строку пустой для ручного заполнения после печати.
Разберем, как отредактировать макет, не привлекая программиста:
[ФИОКладовщика] или аналогичный параметр).Бывают ситуации, когда и в складе пусто, и в макет лезть не хочется, а фамилия всё равно «всплывает». В конфигурациях типа «Управление торговлей 11» реализован механизм поиска последнего ответственного. Проанализируем фрагмент программного кода, который за это отвечает:
Запрос = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| РеализацияТоваровУслуг.Отпустил КАК Ответственный,
| РеализацияТоваровУслуг.ОтпустилДолжность КАК ОтветственныйДолжность
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Склад = &Склад
| И РеализацияТоваровУслуг.Менеджер = &Менеджер
| И РеализацияТоваровУслуг.Проведен = ИСТИНА
|УПОРЯДОЧИТЬ ПО
| РеализацияТоваровУслуг.МоментВремени УБЫВ");
Как мы видим из кода, если в текущем документе поле пустое, система идет в архив документов и ищет последний проведенный документ по этому же складу и менеджеру. Если там был указан Афанасенко, программа решит, что и в этот раз отпускает он.
Как это «вылечить» без кода? Создайте один «пустой» документ реализации (можно не заполнять товары), в разделе «Подписи» намеренно оставьте поля пустыми, проведите его и сразу отмените проведение или пометьте на удаление. Иногда системе достаточно одного «чистого» примера в истории, чтобы перестать подставлять старые данные.
В некоторых случаях данные могут подтягиваться из общих настроек подписей организации. Выясним, нет ли там жесткой привязки:
Если ни один из вышеперечисленных способов не помог, проанализируем еще два фактора:
Таким образом, мы выяснили, что проблема может скрываться на трех уровнях: настройки справочников (Склады), история документов (алгоритм поиска последнего значения) или макет печатной формы. Рекомендуем начать с самого простого — проверки карточки склада и истории подписей в организации.