Как запретить проводку всех документов, где статус направления деятельности "Не используется".

1. FireFox123456 01.08.24 07:40 Сейчас в теме
Как запретить проводку всех документов, где статус направления деятельности "Не используется".

Я не знаю, как это сделать, не добавляя каждый документ в расширение, и не прописывая им всем в ручную проверку на данное значение. Не хотелось бы нагружать лишний раз расширение. В списке выбора исправил запрос так, что бы можно было выбрать только те направления деятельности, где статус = "Используется".
По теме из базы знаний
Найденные решения
10. yispepotri 01.08.24 10:16 Сейчас в теме
(9) это же табличная часть документа? также же перед записью в цикле проходить табличную часть и если статус не используется, то отказ истина

Для каждого стр из ТабличнаяЧасть Цикл
       Если стр.Статус  = Перечисления.СтатусыДокумента.НеИспользуется Тогда
             Отказ = Истина;
             Прервать;
       КонецЕсли;
КонецЦикла

Показать
24. lefthander 01.08.24 16:28 Сейчас в теме
(18) А какую напишите такая и будет. ;)
На картинке это так выглядит.
В обработчик напишите процедуру на проверку статуса. Но нужно еще проверить само свойство Статус у источника, иначе если статус у документа не будет то будет ругаться.

ЗЫ ИМХО, но лучше проверку делать в обработке проведения. Записать можно, но провести нельзя. И сообщить почему нельзя.
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. lefthander 01.08.24 09:10 Сейчас в теме
(1) Подпиской на событие для всех документов обработки проведения с проверкой на свойство наличия сатуса и отказом если статус не используется.
2. yispepotri 01.08.24 09:02 Сейчас в теме
перед записью документа

Если Статус = Перечисления.СтатусыДокумента.НеИспользуется Тогда
      Отказ  = Истина;
КонецЕсли;
FireFox123456; +1 Ответить
3. FireFox123456 01.08.24 09:09 Сейчас в теме
(2) так это нужно каждый документ закинуть в расширение и ему уже это прописать, или как-то не так понимаю?
5. yispepotri 01.08.24 09:10 Сейчас в теме
(3) не нужно ничего добавлять в расширение, прост в модуле объекта документа, добавить данную проверку. Проведение не будет выполнятся если статус будет не соответствовать
7. FireFox123456 01.08.24 09:16 Сейчас в теме
(2)
(5)
ведение не будет выполнятся если ст

я не правильно выразился. У меня есть справочник направления деятельности, в нём указывается используется оно или нет, в столбике статус. Вопрос, как не закидывая документы, где используется эта направления деятельности с статусом "не используется", запретить проводки?
8. yispepotri 01.08.24 09:18 Сейчас в теме
(7) продемонстрируйте наглядно
9. FireFox123456 01.08.24 10:12 Сейчас в теме
(8) Надо что бы, если в документе используется направление деятельности НД 1, документ нельзя было провести.
Прикрепленные файлы:
10. yispepotri 01.08.24 10:16 Сейчас в теме
(9) это же табличная часть документа? также же перед записью в цикле проходить табличную часть и если статус не используется, то отказ истина

Для каждого стр из ТабличнаяЧасть Цикл
       Если стр.Статус  = Перечисления.СтатусыДокумента.НеИспользуется Тогда
             Отказ = Истина;
             Прервать;
       КонецЕсли;
КонецЦикла

Показать
11. FireFox123456 01.08.24 10:19 Сейчас в теме
(10) Нет, это табличная часть справочника направления деятельности
12. yispepotri 01.08.24 10:22 Сейчас в теме
(11) а что за документ, который нужно запрещать проводить. Связь между справочником и документом какая? Чем более подробно вы опишите вопрос, тем выше шанс, что вам помогут.
13. FireFox123456 01.08.24 10:25 Сейчас в теме
(12)
ее подробно вы

Ну на пример документ "Заказ давальцу". Там используется Направление деятельности.Тип ссылка на справочник "НаправленияДеятельности". Самое главное я сделал, что бы они не могли выбирать направления деятельности с статусом "Не используется". Мне просто сделать так надо, что бы они старые документы, где имеется такое направление деятельности, не могли его перепровести.
14. yispepotri 01.08.24 10:28 Сейчас в теме
(13) ну получаете ссылку на справочник, в цикле перебираете табличную часть этого справочника и все тоже самое, что в комментарии 10.
15. FireFox123456 01.08.24 10:30 Сейчас в теме
16. yispepotri 01.08.24 10:31 Сейчас в теме
(15) Модуль объекта документа (для которого нужно делать проверку и отказывать, если есть такой справочник), процедура ПередЗаписью
17. FireFox123456 01.08.24 10:32 Сейчас в теме
(16)
ль объекта документа

То есть, для каждого документа, где нужно сделать эту проверку, туда это вставить?
19. user2033930 01.08.24 10:36 Сейчас в теме
(17) Да нет. В один вставишь - все остальные сразу испугаются, и тоже начнут этот код выполнять...
20. FireFox123456 01.08.24 10:36 Сейчас в теме
(16) а если у меня этих документов 20+ штук, мне в каждый вставлять?
21. user2033930 01.08.24 10:41 Сейчас в теме
23. yispepotri 01.08.24 11:01 Сейчас в теме
(20) этот код будет срабатывать для всех документов, ничего не нужно для каждого прописывать. Советую прочитать данную статью https://infostart.ru/1c/articles/1098803/, чтобы не возникало данных вопросов.
6. lefthander 01.08.24 09:11 Сейчас в теме
(3) есть подписка на событие. и там выбрать для всех документов.
18. FireFox123456 01.08.24 10:33 Сейчас в теме
22. user2033930 01.08.24 10:42 Сейчас в теме
24. lefthander 01.08.24 16:28 Сейчас в теме
(18) А какую напишите такая и будет. ;)
На картинке это так выглядит.
В обработчик напишите процедуру на проверку статуса. Но нужно еще проверить само свойство Статус у источника, иначе если статус у документа не будет то будет ругаться.

ЗЫ ИМХО, но лучше проверку делать в обработке проведения. Записать можно, но провести нельзя. И сообщить почему нельзя.
Прикрепленные файлы:
25. SlavaKron 01.08.24 16:31 Сейчас в теме
Достаточно было делать проверку перед записью набора регистра бухгалтерии.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот