Изменение «поведения документов» без снятия с поддержки или для базовых конфигураций

Опубликовал anry mc (AnryMc) в раздел Обработки - Обработка документов

Иногда бывает необходимо дать пользователю возможность что-то поменять в «поведении документа» без снятия конфигурации с поддержки или для базовой конфигурации...

Решается это очень просто – использованием «Внешних печатных форм», механизма присутствующего во всех типовых конфигурациях.

Просто в Процедуре Печать() «Внешней печатной формы» располагаем свой код поведения документа. Это может быть другой алгоритм проведения, заполнения и т.д.

Что это дает в отличие от внешних обработок?

  1. Вы можете добавить в меню печать документа любое количество пунктов, например «Провести по-моему»;
  2. Обработка «прикрепляется» к конкретному документу и не требует его выбора;
  3. Пользователю не надо ничего дополнительно открывать, а только выбрать необходимый пункт меню.

У этого метода есть «минус» система не поддерживает автоматическое отслеживание. Например, если вы поменяли проводки и перепровели документ штатно – вернуться «стандартные» проводки «заложенные» в конфигурации.

В прилагаемом «опусе»  для примера (см. прилагаемый файл):

Внешняя печатная форма с авторегистрацией.

Которая добавляет для документа «Платежное поручение исходящее» в меню «Печать» пункт «Замена счетов в проводках». При его выборе в проводках документа Кт – 311 заменяется на Кт-312.

Ограничения по конфигурации для прилагаемого примера!!! Должны быть:

  • документ «Платежное поручение исходящее
  • план счетов «Хозрасчетный» и в нем счета «311» и «312»

Скачать файлы

Наименование Файл Версия Размер
Пример внешней печатной формы изменяющей проводки
.epf 445,54Kb
22.11.12
27
.epf 445,54Kb 27 Скачать

См. также

Комментарии
1. Анатолий Бычин (tolyan_ekb) 85 22.11.12 14:53 Сейчас в теме
бл@ базовой конфигурации... - это однозначный плюс автору за смелость и красоту слога ))), но сначала не поверил глазам )))
echo77; AnryMc; SeiOkami; +3 Ответить 1
2. Семён (wert453) 23.11.12 07:59 Сейчас в теме
3. Александр Медведев (anig99) 2489 23.11.12 08:45 Сейчас в теме
Для программиста - банальщина, для пользователя - всё равно бесполезно, сами сделать не смогут. Только сам факт, что программисту можно заказать и такое.
4. Konstantin Konstantin (KonstB) 161 23.11.12 09:05 Сейчас в теме
Почитайте вот эту публикацию: Есть ли жизнь в закрытом периоде? - для многих эта публикация окажется вообще открытием :)
5. Юрий Ополев (yorick_1525) 23.11.12 09:06 Сейчас в теме
Если уж так делать, то лучше сделать в "заполнении табличных частей", там это будет смотреться логичнее.
automatizator; fomix; +2 Ответить 1
6. Konstantin Konstantin (KonstB) 161 23.11.12 09:08 Сейчас в теме
(5) yorick_1525, НЕ у Всех документов есть "заполнении табличных частей"
7. Konstantin Konstantin (KonstB) 161 23.11.12 09:10 Сейчас в теме
У этого метода есть «минус» система не поддерживает автоматическое отслеживание. Например если вы поменяли проводки и перепровели документ штатно – вернуться «стандартные» проводки «заложенные» в конфигурации.


В Бухгалтерии этого можно избежать, если ставить реквизит "РучнаяКорректировка"
8. Юрий Ополев (yorick_1525) 23.11.12 09:32 Сейчас в теме
(6) KonstB, что ж, не у всех документов есть также возможность подключения внешних печатных форм.
9. dvv01 (dvv01) 115 23.11.12 10:08 Сейчас в теме
Если настройка прав позволяет что-то делать через печатную форму, то что мешает также это выполнять через обычную внешнюю обработку? Более того, обходится ограничение "запрет печати непроведенных" (хотя конкретно для данного примера это не актуально).
Плюс вопрос по самой логике работы: "А что произойдет при последующем перепроведении всех документов?", и "Как это будет конфликтовать с партиями (товар собственный / комиссионный) если заменить счет учета с 41 на 004..." - есть подозрение, что подобными действиями можно себе в перспективе сильно подгадить. Я бы формировал бы дополнительный документ "Корректировка записей регистров" не трогая исходного... только комментах пояснения, чтобы не запоминать зачем и что...
Поясню: сделали подобные изменения (которые нигде не видны и нигде не отображаются), на основании их другие пользователи совершали взаимерасчеты, движения... прошел год, февраль, годовой отчет - гл.бух запустил перепроводку, а документы перестали перепроводится: отрицательные остатки, неверные сверки расчетов... спасибо "умным и предусмотрительным программерам" (или кто-то друго будет виноват?).

Данный механизм можно использовать только если у пользователя стоит запрет "на интерактивное изменение". Но если есть этот запрет, то зачем давать тогда такую возможность (проще разобраться с правами)
10. anry mc (AnryMc) 709 23.11.12 11:48 Сейчас в теме
(3) anig99,

Программисты есть тоже разные. Дальше выученных инструкций не идут. Внешняя печатная форма - значит чтобы печатать, а не что-то ещё. Есть и начинающие.
Я тоже в свое время говорил клиентам "у вас базовая..." или "включайте возможность изменений и платите при каждом обновлении..."

Теперь иногда обхожусь без этих фраз.

Да пользователь должен знать, если попадется незнающий программист.
11. anry mc (AnryMc) 709 23.11.12 11:55 Сейчас в теме
(9) dvv01,
Есть "ограниченные" пользователи. Справляются со своей работой, но в "нештатной" ситуации - 0.
Тогда им говорят (пишут инструкцию) - Если ... то нажми кнопку... Зачем нанимать "продвинутого" исполнителя и платить ему больше?

Лучше ответьте, почему "продвинутые" программисты от 1С в экспортных процедурах/функциях используют локальные? Сводя тем самым их к локальным. Например в тех же фанкциях - "Печать". Вот это мне интересно!?!?!?
12. anry mc (AnryMc) 709 23.11.12 11:58 Сейчас в теме
(4) KonstB,

Да - покажется. Знать всё невозможно. Взглянуть со стороны на хорошо известное и увидеть новое не всегда получается.

Есть новички, есть ..........
13. Модератор раздела Артур Аюханов (artbear) 26.11.12 16:41 Сейчас в теме
Слабо, баян, нежизнеспособно.
Пользователи в итоге все равно накосячат.
14. anry mc (AnryMc) 709 26.11.12 21:47 Сейчас в теме
(13) artbear,

Слабо, баян, нежизнеспособно.


Слабо - метод или пример? Если метод - предложите альтернативу. Если пример - на то он и пример.
Баян - да, Но за 4 дня 9 "+" плюс 4 скачивания (без плюса) - значит, кто-то ещё не знает.
Нежизнеспособно - лично я 3 раза использовал - Заказчик доволен.

Пользователи в итоге все равно накосячат.


Они и без этого накосячить могут...
15. dvv01 (dvv01) 115 27.11.12 11:58 Сейчас в теме
(11) AnryMc,
> Лучше ответьте, почему "продвинутые" программисты от 1С в экспортных процедурах/функциях используют локальные? Сводя тем самым их к локальным. Например в тех же фанкциях - "Печать". Вот это мне интересно!?!?!?

Что понимается под "сводя"??? Локальность и экспортность в ООП определяется областью видимости (доступностью "извне"), например с той же "Печатью": посмотри как реализована "групповая печать" какой-либо типовой накладной
16. anry mc (AnryMc) 709 27.11.12 12:53 Сейчас в теме
(15) dvv01,

Сводя


Сводить `Толковый словарь Дмитриева`
своди́ть [вести вниз] глаг., нсв., употр. сравн. часто
Морфология: я свожу́, ты сво́дишь, он/она/оно сво́дит, мы сво́дим, вы сво́дите, они сво́дят, своди́, своди́те, своди́л, своди́ла, своди́ло, своди́ли, сводя́щий, своди́мый, своди́вший, сводя́; св. свести́; сущ.
17. Oleg karp (Oleg1708) 28.11.12 12:21 Сейчас в теме
А перепроведение? Пользвателям такое не надо знать. А программист и другими обработками обойдет проведение.
18. anry mc (AnryMc) 709 28.11.12 15:12 Сейчас в теме
(1) tolyan_ekb, "Список замеченых оЧеПаток"

Только сейчас понял, что я написал, и что Вы имели ввиду... ;-)))))

Исправлить или нет?
19. Анатолий Бычин (tolyan_ekb) 85 28.11.12 17:43 Сейчас в теме
(18) AnryMc, уже столько времени прошло. Пусть остается, если мордераторы не скажут. ))) Главное в будущем нам при оформлении быть внимательнее, я сам тоже делаю ошибки. А это пусть будет такое мелкое хулиганство ))
20. anry mc (AnryMc) 709 06.05.13 17:35 Сейчас в теме
(19) tolyan_ekb,

Я клгда работаю на своём "переносном" ноуте (14") иногда нажимаю соседние клаваши - "Л", "Д" например. Или сразу обе и какая из них сработает (или обе сразу) неизвестно...

Просто привык к "большому" ноуту (17.4") там клавиши больше да и клавиатура с "цифровым блоком"

А "Проверки модуля" как в Конфигураторе здесь нет :-(
21. Михаил Ражиков (tango) 466 06.05.13 18:36 Сейчас в теме
(14) AnryMc,
Если метод - предложите альтернативу

в БП - ручная операция имеет штатный режим заполнения по документу-основанию
22. anry mc (AnryMc) 709 06.05.13 20:10 Сейчас в теме
(21) tango,

Ещё раз объясню:

Операция может заполняться на основании реквизитов документа "источника" - да, По функционалу это похоже - да.

Но это неудобно, т.к. надо открыть операции, найти нужную и в ней выбрать "источник". А в предложенном методе - только выбрать "печатную форму". Выигрыш как минимум в секунд 10-15, а если пользователь "не продвинутый" то и больше...
Да и на обучение время тратить не нало - только сказать: "Нажмите печать "НУЖНАЯ ФОРМА"
23. Александр Крынецкий (echo77) 686 26.05.13 21:52 Сейчас в теме
(0)может это:
...или бл@ базовой конфигурации...
уже поправим?
24. Богдан Сурай (bsuray) 29.09.13 15:32 Сейчас в теме
В таких целях лучше подписки на события использовать.
u_n_k_n_o_w_n; +1 Ответить