gifts2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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


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

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

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

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

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

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

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

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

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


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

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


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

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

Сводя


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

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

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

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

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

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

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

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

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

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