Работает автоматически для всех видов документов.
ВНИМАНИЕ: В расширении используется Привилегированный режим, он не дает пользователям доступ к конфиденциальным данным. Используется в подписке на событие перед записью для проверки состояния изменяемого документа давая право чтения регистра расширения. У пользователей не будет роли к чтению или редактированию регистра, но проверка состояние документа и запрет в редактировании будет. И чтобы у них ошибки не возникало в ходе обращения к регистру расширения и был добавлен привилегированный режим.
Примечание: Для форм, где есть вызов в ПриСозданииНаСервере() функционала подключаемых команд (в последних продуктах 1С практически везде подключаемые команды вызываются в формах.
Рис.1 Колонки [Проверка документов] отображаются в формах списка и выбора документов

Рис.2 Включение/Отключение секции с информацией о проверке в меню формы - Ещё - Изменить форму - группы [Проверка документов]

Рис.3 Кнопка [Проверка документа] в формах документов

Возможности расширения
- Проверка документа - в форме документа в командной панели нажать кнопку [Проверка документа], картинка изменится с
на
, в подсказке кнопки появится {Ответственный и Время}, в открытых списках автоматически обновятся данные в колонках {Флаг, Ответственный и Время}. Документ будет запрещен для редактирования пользователям. - Отмена проверки документа - в форме документа в командной панели нажать кнопку [Проверка документа], картинка изменится с
на
, в открытых списках автоматически обновятся данные в колонках {Флаг, Ответственный и Время}. Документ будет разрешен для редактирования пользователям.
Права доступа
Возможность устанавливать и снимать отметку проверки документа имеют пользователи с ролями: Полные права или Добавление изменение проверки документов (Расширение: Проверка документов).
Остальным пользователям должна быть назначена роль Чтение проверки документов (Расширение: Проверка документов), чтобы не возникала ошибка при открытии форм списков. Создаете новый профиль с одной этой ролью, группу доступа и включаете в нее всех пользователей.
Работоспособность расширения
Проверял на платформе 1С:Предприятие 8.3 (8.3.22.1750)
Режим совместимости расширения от версии платформы 8.3.17 и выше.
Работа проверялась в программах:
- 1С:Управление холдингом, редакция 3.2 (3.2.4.2)
- 1С:Бухгалтерия предприятия, редакция 3.0 (3.0.132.34)
- 1С:Управление торговлей 11 (11.5.8.309)
- будет работать и на других продуктах 1С построенных на основе библиотеки стандартных подсистем. Во всех клиентах: тонкий, толстый, веб.
Работает и для форм, где список не на базе произвольного запроса.
Состав расширения
4 общих модуля, 2 роли, 2 картинки, 1 подписка на событие, 1 регистр сведений

Примечание (уже не актуально, в новых версиях добавил автоматическую проверку платформы)
В версии платформы 8.3.22 есть возможность связи по УникальномуИдентификатору(...). Я такой код вставил, но он отключен, т.к. многие работают на меньших платформах. Альтернативой стоит связь по номеру и дате. У кого 8.3.22 поставьте связь по уникальному идентификатору в ОбщийМодуль.провдок_Сервер, в следующем коде в первом условии изменив Ложь на Истина.
//Конструируем запрос списка № 2
Если Ложь Тогда
//Будет работать когда версия платформы станет 8.3.22,
//там есть возможность получать Уникальный идентификатор в запросе
//или придется затаскивать функционал расширения в конфигурацию
ВставкаСоединения = Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, " КАК " + ПсевдонимОсновнойТаблицы);
Если ВставкаСоединения > 0 Тогда
ВставкаСоединения = ВставкаСоединения + СтрДлина(" КАК " + ПсевдонимОсновнойТаблицы);
Форма[ИмяЭлементаСписка].ТекстЗапроса = Лев(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения) +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО УникальныйИдентификатор(" + ПсевдонимОсновнойТаблицы + ".Ссылка) = провдок_ПроверенныеДокументы.УИОбъекта
|" + Сред(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения);
Иначе
Форма[ИмяЭлементаСписка].ТекстЗапроса = Форма[ИмяЭлементаСписка].ТекстЗапроса +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО УникальныйИдентификатор(" + ПсевдонимОсновнойТаблицы + ".Ссылка) = провдок_ПроверенныеДокументы.УИОбъекта";
КонецЕсли;
Иначе
//Пока сделаем по номеру и дате
ВставкаСоединения = Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, " КАК " + ПсевдонимОсновнойТаблицы);
Если ВставкаСоединения > 0 Тогда
ВставкаСоединения = ВставкаСоединения + СтрДлина(" КАК " + ПсевдонимОсновнойТаблицы);
Форма[ИмяЭлементаСписка].ТекстЗапроса = Лев(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения) +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО " + ПсевдонимОсновнойТаблицы + ".Номер = провдок_ПроверенныеДокументы._НомерДокумента
| И " + ПсевдонимОсновнойТаблицы + ".Дата = провдок_ПроверенныеДокументы._ДатаДокумента
|" + Сред(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения);
Иначе
Форма[ИмяЭлементаСписка].ТекстЗапроса = Форма[ИмяЭлементаСписка].ТекстЗапроса +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО " + ПсевдонимОсновнойТаблицы + ".Номер = провдок_ПроверенныеДокументы._НомерДокумента
| И " + ПсевдонимОсновнойТаблицы + ".Дата = провдок_ПроверенныеДокументы._ДатаДокумента";
КонецЕсли;
КонецЕсли;
Заходим в меню 1С - Функции для технического специалиста - Стандартные - Управление расширениями конфигурации
(Если отключен включить через меню 1С - Настройки - Параметры - Режим технического специалиста)

В случае ошибки применения выполните исправление в конфиуграторе

| Расширение: Оригиналы документов | Отметка к любому виду документа, о том что получен его оригинал (Флаг, Ответственный и Время) |
| Копирование прав между пользователями | Обработка по копированию прав пользователя на список других пользователей |
| Расширение: Быстрые отборы через буфер [Alt+C] Копировать, [Alt+V] Вставить | Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации клавиш [Alt+C] Копировать, [Alt+V] Вставить. |
| Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика | В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных. |
| Гарантированное проведение документов (подключаемое расширение) | Гарантированное проведение указанного в регистре сведений списка документов. Регистрируем документы к проведению с помощью произвольных отборов СКД в регистре сведений, далее запускаем фоновое проведение в нескольких потоках. Проведенные документы удаляются из регистра, по непроведенным регистрируются ошибки. |
| Ускорим проведение в 1С:Управление холдингом | В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится. |
| Динамическая кнопка VS Комбинация клавиш | Часто требуется ко всем формам или к списку форм привязать новые действия. Но как это сделать не меняя каждую форму и в идеале не меняя конфигурацию? Ниже будет описано, как запрограммировать новые действия через расширение (т.е. не меняя конфигурации) и сделать это универсально (не меняя каждую форму). |
| Параметризация печатных форм под контрагентов (подключаемое расширение) | Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь //infostart.ru/1c/articles/1510459/ |
| Просмотр объектов очереди сообщений в 1С:Документооборот | В базах с бесшовной интеграцией с 1С:Документооборот есть Регистр сведений "Очередь сообщений в 1С:Документооборот". Для пользователя он мало информативен. Расширение позволяет просматривать сообщение в человеческом виде. И понимать проблему до объекта. |
|
Проверено на следующих конфигурациях и релизах:
Вступайте в нашу телеграмм-группу Инфостарт См. такжеБухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 Управленческий учет Платные (руб) Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот! Покупайте в Инфостарт и получайте 15% бонусов на наши услуги, сервисы и мероприятия! 63100 руб. 19.02.2016 115617 161 5 1С:Предприятие 8 Платные (руб) "1С:Архив" – это универсальная система для надежного долговременного хранения документов с гарантией юридической значимости на неограниченный срок. Решение разработано на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов: от попадания в архив до уничтожения, и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. С 1 апреля 2026 года стоимость изменится на 14%, успейте купить решение по цене 2025 года! 117000 руб. 24.10.2022 8336 14 1
Модуль "Интеграция с 1С:Документооборот 2.1 и 3.0" для УПП/КА/УТ 10.3/БГУ 1.0/ЗБУ 1.0. 1С-Совместимо
Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб) Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо 135530 руб. 11.06.2015 63305 39 20
11.06.2015
Модуль "Интеграция с 1С:Документооборот 2.1 и 3.0" для УПП/КА/УТ 10.3/БГУ 1.0/ЗБУ 1.0. 1С-Совместимо
51
39
20
63305
SALE! 35% Загрузка и выгрузка в Excel Учет документов Распознавание документов и образов Бухгалтер Пользователь 1С:Предприятие 8 1С 8.3 1С 8.5 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб) Программа для распознавания сканов или фотографий товарных документов в 1С. Просто выбираете файл (PDF, XML, JPG, DOC, XLS, HTML) и нажимаете кнопку "Распознать и загрузить". 04.06.2019 125904 373 183 ЭДО и ОФД Учет документов 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб) Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время – организует полностью соответствующий закону архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. Выявляет все возможные ошибки в ЭДО и помогает в несколько кликов их исправить. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 5-ти летний опыт 60+ клиентов. 19520 руб. 17.12.2018 51483 85 65 Операции по ВЭД Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб) Программа предназначена для автоматизации внешнеторговых компаний и обеспечивает документооборот валютного контроля: присвоение Уникального номера контракта (УНК), формирований сведений о валютных операциях (СВО) и справок о подтверждающих документах (СПД), прочих необходимых форм учета и отчетности по валютным операциям согласно действующему валютному законодательству Российской Федерации, документооборот валютных платежей согласно международным стандартам и документооборот купли-продажи валюты, а также выгрузку любых документов 1С в любую систему клиент-банк. 122000 руб. 13.05.2009 71968 4 29
13.05.2009
43
4
29
71968
Печатные формы Учет документов Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб) Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения. 2000 руб. 05.09.2017 98870 79 107 Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб) Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram/max, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Сертификат 1С-Совместимо. 14900 руб. 15.11.2018 43129 58 60 Комментарии
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
3.
Vladimir-R
170
10.04.23 15:26
Сейчас в теме
Почему не проверил на версию платформы через СистемнаяИнформация.ВерсияПриложения ?
1. Я правильно понимаю что независимо от версии платформы UID объекта все равно в регистре сохранится при установке запрета?
2. "Документ будет запрещен для редактирования пользователям." - только интерактивное изменение из формы объекта блокируется или программное тоже? 3. Не понятно из видео, в момент нажатия "проверено", не контролируется модифицированность формы? Т.е. логика работы такая: Проверяющий может за один "проход" поправить/заполнить необходимые реквизиты, жмакнуть "проверено" и выйти с сохранением. А если не сохранить документ при выходе, признак "проверено" у объекта не сбросится? P.S. Публикацию плюсанул...
8.
sapervodichka
7622
10.04.23 23:14
Сейчас в теме
(7) Вот за что я люблю Инфостарт, за отличные чёткие замечания (нигде бесплатно таких мега-тестировщиков не найти).
1) UID, Номер и Дата - в регистре хранятся всегда, вне зависимости от платформы 2) Запрет реализован через подписку на событие ПередЗаписью (открытие проверенного документа на просмотр добавлю) 3) Модифицированность не контролируется (добавлю проверку) Роман, от души, спасибо
(8) Кстати да, Инфостарт в этом плане от Мисты разительно отличается. На Мисте если кто-то обратится с вопросом "как мне сделать это?", часто вместо конструктивного ответа над ним сначала постебают, а потом еще и будут отговаривать "это делать"... :)
Поделка конечно прикольное, но реализация храмает. (Хотя и брать 2 стара, это жадность)
Не стоит менять через расширение форму, это превидет в дальнейшем к тому, что бы обновить конфигуратор и сохранить работоспособность вашего расширения, вам придется тратить куеву кучу времени для внесения изменений в каждую форму из осн. Конфы, которую вы подредактировали. Если не вносить изменения на форму из осн. Конфы, то в итоге вы можете получить полностью мертвую форму в расширении. 1с тоже модифицирует свою программу и работу с расширениями :) 😀 Решение простое, программно добавлять ваши элементы на форму. (Судя по описанию, вы нам это не предоставили)
13.
sapervodichka
7622
11.04.23 08:30
Сейчас в теме
(12) да, верно ни одна форма не менялась, поэтому комментарий (10) вообще мимо. Вот если нужно листинг динамического вывода кнопок и колонок скопировал из расширения.
Если ТипЗнч(Форма) = Тип("УправляемаяФорма")
И (Найти(Форма.ИмяФормы, "Документ.") > 0 ИЛИ Найти(Форма.ИмяФормы, "ЖурналДокументов.") > 0) Тогда
Если Найти(Форма.ИмяФормы, ".ФормаДокумента") > 0 Тогда
//Выведем кнопку в командную панель документа на форму документа
Если Форма.Элементы.Найти("Кнопка_провдок_ПроверкаДокумента") = Неопределено Тогда
// Создадим команду
Команда = Форма.Команды.Добавить("провдок_ПроверкаДокумента");
Команда.Действие = "Подключаемый_ВыполнитьКоманду";
Попытка
пПроверяемаяСсылка = Форма.Объект.Ссылка;
Исключение
КонецПопытки;
Если ДокументПроверен(пПроверяемаяСсылка) Тогда
Команда.Картинка = БиблиотекаКартинок.провдок_ЗнакСтопБСП;
Иначе
Команда.Картинка = БиблиотекаКартинок.провдок_ЗнакСтопЧБ;
КонецЕсли;
// Создадим кнопку и привяжем к ней команду
Если Форма.Элементы.Найти("ГруппаКнопкиКоманднойПанели") <> Неопределено Тогда
ЭлементДляРасположенияКнопки = Форма.Элементы.ГруппаКнопкиКоманднойПанели;
ИначеЕсли Форма.Элементы.Найти("ГруппаГлобальныеКоманды") <> Неопределено Тогда
ЭлементДляРасположенияКнопки = Форма.Элементы.ГруппаГлобальныеКоманды;
ИначеЕсли Форма.Элементы.Найти("ГруппаКоманднаяПанель") <> Неопределено Тогда
ЭлементДляРасположенияКнопки = Форма.Элементы.ГруппаКоманднаяПанель;
ИначеЕсли Форма.Элементы.Найти("ОсновнаяКоманднаяПанель") <> Неопределено Тогда
ЭлементДляРасположенияКнопки = Форма.Элементы.ОсновнаяКоманднаяПанель;
Иначе
ЭлементДляРасположенияКнопки = Форма.Элементы.ФормаКоманднаяПанель;
КонецЕсли;
Кнопка = Форма.Элементы.Добавить("Кнопка_провдок_ПроверкаДокумента", Тип("КнопкаФормы"), ЭлементДляРасположенияКнопки);
Если Форма.Элементы.Найти("suplite_Открыть") <> Неопределено Тогда
Форма.Элементы.Переместить(Кнопка, ЭлементДляРасположенияКнопки, Форма.Элементы.Найти("suplite_Открыть"));
КонецЕсли;
Кнопка.Заголовок = "Проверка документа";
Кнопка.ИмяКоманды = "провдок_ПроверкаДокумента";
Кнопка.ОтображениеПодсказки = ОтображениеПодсказки.Всплывающая;
Форма.Команды[Кнопка.ИмяКоманды].Подсказка = ИнформацияОПроверкеДокумента(пПроверяемаяСсылка);
КонецЕсли;
ИначеЕсли Найти(Форма.ИмяФормы, ".ФормаСписка") > 0
ИЛИ Найти(Форма.ИмяФормы, ".ФормаВыбора") > 0
ИЛИ Найти(Форма.ИмяФормы, ".БанковскиеВыписки") > 0 Тогда
//Выведем колонки с проверкой документа на формы списка и выбора
Если Форма.Элементы.Найти("Список") <> Неопределено Тогда
ИмяЭлементаСписка = "Список";
//Определяем псевдоним основной таблицы
ПсевдонимОсновнойТаблицы = "";
МассивПсевдонимовОсновнойТаблицы = Новый Массив;
Если ЗначениеЗаполнено(Форма[ИмяЭлементаСписка].ОсновнаяТаблица) Тогда
МассивПсевдонимовОсновнойТаблицы.Добавить(СтрЗаменить(Форма[ИмяЭлементаСписка].ОсновнаяТаблица, ".", ""));
КонецЕсли;
МассивПсевдонимовОсновнойТаблицы.Добавить("ДокументСсылка");
МассивПсевдонимовОсновнойТаблицы.Добавить("ДокументТранзакция");
МассивПсевдонимовОсновнойТаблицы.Добавить("ЖурналДокументовБанковскиеВыписки");
Для Каждого Эл_МассивПсевдонимовОсновнойТаблицы Из МассивПсевдонимовОсновнойТаблицы Цикл
Если Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, Эл_МассивПсевдонимовОсновнойТаблицы + ".Ссылка КАК Ссылка,") > 0 Тогда
ПсевдонимОсновнойТаблицы = Эл_МассивПсевдонимовОсновнойТаблицы;
//Конструируем запрос списка № 1.1
Форма[ИмяЭлементаСписка].ТекстЗапроса = СтрЗаменить(Форма[ИмяЭлементаСписка].ТекстЗапроса,
ПсевдонимОсновнойТаблицы + ".Ссылка КАК Ссылка,",
ПсевдонимОсновнойТаблицы + ".Ссылка КАК Ссылка,
|ЕстьNULL(провдок_ПроверенныеДокументы.Проверен, Ложь) КАК ПроверкаДокументов_ДокументПроверен,
|провдок_ПроверенныеДокументы.Ответственный КАК ПроверкаДокументов_Проверил,
|провдок_ПроверенныеДокументы.ДатаДействия КАК ПроверкаДокументов_ДатаПроверки,");
Прервать;
ИначеЕсли Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, Эл_МассивПсевдонимовОсновнойТаблицы + ".Ссылка,") > 0 Тогда
ПсевдонимОсновнойТаблицы = Эл_МассивПсевдонимовОсновнойТаблицы;
//Конструируем запрос списка № 1.2
Форма[ИмяЭлементаСписка].ТекстЗапроса = СтрЗаменить(Форма[ИмяЭлементаСписка].ТекстЗапроса,
ПсевдонимОсновнойТаблицы + ".Ссылка,",
ПсевдонимОсновнойТаблицы + ".Ссылка,
|ЕстьNULL(провдок_ПроверенныеДокументы.Проверен, Ложь) КАК ПроверкаДокументов_ДокументПроверен,
|провдок_ПроверенныеДокументы.Ответственный КАК ПроверкаДокументов_Проверил,
|провдок_ПроверенныеДокументы.ДатаДействия КАК ПроверкаДокументов_ДатаПроверки,");
Прервать;
ИначеЕсли Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, Эл_МассивПсевдонимовОсновнойТаблицы + ".*") > 0 Тогда
ПсевдонимОсновнойТаблицы = Эл_МассивПсевдонимовОсновнойТаблицы;
//Конструируем запрос списка № 1.2
Форма[ИмяЭлементаСписка].ТекстЗапроса = СтрЗаменить(Форма[ИмяЭлементаСписка].ТекстЗапроса,
ПсевдонимОсновнойТаблицы + "*.*,",
ПсевдонимОсновнойТаблицы + "*.*,
|ЕстьNULL(провдок_ПроверенныеДокументы.Проверен, Ложь) КАК ПроверкаДокументов_ДокументПроверен,
|провдок_ПроверенныеДокументы.Ответственный КАК ПроверкаДокументов_Проверил,
|провдок_ПроверенныеДокументы.ДатаДействия КАК ПроверкаДокументов_ДатаПроверки,");
Прервать;
КонецЕсли;
КонецЦикла;
//Доработаем исключения
Если Не ЗначениеЗаполнено(ПсевдонимОсновнойТаблицы) Тогда
Если Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, "ЖурналДокументовБанковскиеВыписки") > 0
И Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, "КОНЕЦ КАК Ссылка,") > 0 Тогда
ПсевдонимОсновнойТаблицы = "ЖурналДокументовБанковскиеВыписки";
//Конструируем запрос списка № 1.1
Форма[ИмяЭлементаСписка].ТекстЗапроса = СтрЗаменить(Форма[ИмяЭлементаСписка].ТекстЗапроса,
"КОНЕЦ КАК Ссылка,",
"КОНЕЦ КАК Ссылка,
|ЕстьNULL(провдок_ПроверенныеДокументы.Проверен, Ложь) КАК ПроверкаДокументов_ДокументПроверен,
|провдок_ПроверенныеДокументы.Ответственный КАК ПроверкаДокументов_Проверил,
|провдок_ПроверенныеДокументы.ДатаДействия КАК ПроверкаДокументов_ДатаПроверки,");
КонецЕсли;
КонецЕсли;
Если ЗначениеЗаполнено(ПсевдонимОсновнойТаблицы) Тогда
//Конструируем запрос списка № 2
Если Ложь Тогда
//Будет работать когда версия платформы станет 8.3.22,
//там есть возможность получать Уникальный идентификатор в запросе
//или придется затаскивать функционал расширения в конфигурацию
ВставкаСоединения = Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, " КАК " + ПсевдонимОсновнойТаблицы);
Если ВставкаСоединения > 0 Тогда
ВставкаСоединения = ВставкаСоединения + СтрДлина(" КАК " + ПсевдонимОсновнойТаблицы);
Форма[ИмяЭлементаСписка].ТекстЗапроса = Лев(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения) +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО УникальныйИдентификатор(" + ПсевдонимОсновнойТаблицы + ".Ссылка) = провдок_ПроверенныеДокументы.УИОбъекта
|" + Сред(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения);
Иначе
Форма[ИмяЭлементаСписка].ТекстЗапроса = Форма[ИмяЭлементаСписка].ТекстЗапроса +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО УникальныйИдентификатор(" + ПсевдонимОсновнойТаблицы + ".Ссылка) = провдок_ПроверенныеДокументы.УИОбъекта";
КонецЕсли;
Иначе
//Пока сделаем по номеру и дате
ВставкаСоединения = Найти(Форма[ИмяЭлементаСписка].ТекстЗапроса, " КАК " + ПсевдонимОсновнойТаблицы);
Если ВставкаСоединения > 0 Тогда
ВставкаСоединения = ВставкаСоединения + СтрДлина(" КАК " + ПсевдонимОсновнойТаблицы);
Форма[ИмяЭлементаСписка].ТекстЗапроса = Лев(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения) +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО " + ПсевдонимОсновнойТаблицы + ".Номер = провдок_ПроверенныеДокументы._НомерДокумента
| И " + ПсевдонимОсновнойТаблицы + ".Дата = провдок_ПроверенныеДокументы._ДатаДокумента
|" + Сред(Форма[ИмяЭлементаСписка].ТекстЗапроса, ВставкаСоединения);
Иначе
Форма[ИмяЭлементаСписка].ТекстЗапроса = Форма[ИмяЭлементаСписка].ТекстЗапроса +
"
|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.провдок_ПроверенныеДокументы КАК провдок_ПроверенныеДокументы
|ПО " + ПсевдонимОсновнойТаблицы + ".Номер = провдок_ПроверенныеДокументы._НомерДокумента
| И " + ПсевдонимОсновнойТаблицы + ".Дата = провдок_ПроверенныеДокументы._ДатаДокумента";
КонецЕсли;
КонецЕсли;
ГруппаКолонок = ДобавитьГруппуФормы(Форма, Форма.Элементы[ИмяЭлементаСписка], "провдок_Группа_ПроверкаДокументов", "Проверка документов", ВидГруппыФормы.ГруппаКолонок);
ГруппаКолонок.Группировка = ГруппировкаКолонок.ВЯчейке;
э_провдок_Проверен = ДобавитьПолеФлажка(Форма, ГруппаКолонок, "провдок_Проверен", "Список.ПроверкаДокументов_ДокументПроверен", НСтр("ru='Документ проверен'"));
э_провдок_Ответственный = ДобавитьПолеВвода(Форма, ГруппаКолонок, "провдок_Ответственный", "Список.ПроверкаДокументов_Проверил", НСтр("ru='Проверил'"));
э_провдок_ДатаДействия = ДобавитьПолеВвода(Форма, ГруппаКолонок, "провдок_ДатаДействия", "Список.ПроверкаДокументов_ДатаПроверки", НСтр("ru='Дата проверки'"));
э_провдок_Проверен.КартинкаШапки = БиблиотекаКартинок.провдок_ЗнакСтопБСП;
э_провдок_Проверен.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
э_провдок_Проверен.Подсказка = "Проверен";
э_провдок_Ответственный.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
э_провдок_ДатаДействия.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Показать
15.
sapervodichka
7622
12.04.23 10:03
Сейчас в теме
(14) спасибо, за инфу (я так понял пока и старый тип работает, но в будущем надо будет поменять)
17.
sapervodichka
7622
12.04.23 10:14
Сейчас в теме
(16) можешь не проверять, у меня совместимость 8.3.17 и Тип("УправляемаяФорма") норм работает (видео в доказательство)
(17) Возможно это было на какой-то из промежуточных платформ: совершенно точно помню, что тоже в расширении программно модифицировал формы и после обновления проверка ТипЗнч(Форма) = Тип("УправляемаяФорма") стала возвращать Ложь, из-за чего на форме отвалились все доработки - переводил все на Тип("ФормаКлиентскогоПриложения")
(9) все куда проще, тут есть тоже самое.
Просто на мисте этим стали злоупотреблять, и просить сделать, а не научиться. Уловите разницу, в том что получить знание и что бы вместо вас выполнили, не одно и то же :) И инфо старт не дает готовое решение, даже тут вам в буду щем придется допиливать и вникать, а как оно работает :)
19.
sapervodichka
7622
12.04.23 17:28
Сейчас в теме
Новая версия
Расширение: Проверка документов (версия 11.04.2023 12:00) 1) Выбор синхронизации по Номер и Дата будет автоматом до платформы версии 8.3.22, а после будет по УникальномуИдентификатору. Определение версии платформы выполняется через СистемнаяИнформация.ВерсияПриложения. Спасибо за замечание Владимир Родионов Балабас 2) Проверка на ТипЗнч(Форма) = Тип("УправлемаяФорма") устарела и заменена на Тип("ФормаКлиентскогоПриложения"). Это нововведение начиная с совместимости 8.3.14. Спасибо за замечание Алексей Харламов RocKeR_13 3) Добавлено открытие формы документа на Только просмотр, если стоит проверка, а прав на ее снятие нет (до этого был запрет перед записью). Спасибо за замечание Роман Жданов fatman78 4) Добавлена проверка на модифицированность формы документа перед установкой проверки. Спасибо за замечание Роман Жданов fatman78
21.
sapervodichka
7622
16.04.23 10:15
Сейчас в теме
(20) замечательная идея, попробую сегодня сделать и опубликовать
22.
sapervodichka
7622
17.04.23 01:18
Сейчас в теме
(20) сделал, вероятно завтра опубликуют, ссылку потом сюда прикреплю
Огромный респект автору за это.
Меня пользователи-бухи как раз просили в ЗУПе закрыть возможность изменения "Данных для расчета зарплаты", созданные менеджерами, если они проверены бухгалтерами. Я почти закончил писать локальную проверку через механизм программно добавляемой в документ команды, которая попеременно при исполнении прописывает / очищает дополнительный реквизит документа "Проверено", тип строка, в ней дата и ФИО того, кто проверил. Контроль - если ограниченный пользователь (проверка по роли) открывает документ, в котором значение допреквизита заполнено, он открывается ему так, что все значимые элементы формы не доступны. Но тут увидел публикацию уважаемого Дмитрия, скачал, посмотрел, очень нравится. Теперь на распутье: то ли своё доделать, то ли от Дмитрия приспособить ? :) :) :)
27.
npolavochkina
27.09.23 09:16
Сейчас в теме
(25) Еще есть третий вариант. Можно использовать появившийся в ЗУП механизм "Процессы обработки документов". Реализовал в нем проверку и согласование табеля с запретом на редактирование если проверка пройдена за полчаса без внесение изменений в конфу вообще.
Разработчику
Было бы хорошо так же добавить гибкость , например если в организации несколько организаций\складов и например хочется установить подобную проверку только для определенного склада\организации.. например если хочу что бы проверялись все реализации определенного склада только определенным сотрудником .
28.
user2050357
21.02.24 12:14
Сейчас в теме
При попытке установить на УНФ 3.0 выдает ошибку:
"Ошибка применения расширения конфигурации: Значение контролируемого свойства ОбъектРасширяемойКонфигурации у объекта Язык.Русский не совпадает со значением в расширяемой конфигурации" Подскажите, пожалуйста, как обойти?
30.
user2100129
28.08.24 20:27
Сейчас в теме
На 8.3.25.1286 УТ 11.5.12.256 не работает вообще. Печально, что автор забил болт на свой продукт.
31.
user2100129
09.09.24 10:40
Сейчас в теме
С помощью бубна и призывов к какой-то матери удалось заставить расширение работать на УТ 11.5.17.128 (платформа 11.5.17.128)
К сожалению, не показывает время проверки и имя проверившего, также в списке документов отметка о проверке не отображается (колонка "Проверка" активирована). В настройке изменения формы вкладка "Проверка" содержит только два пункта (а не три, как у автора): "Индикатор проверки" и "Статус проверки". Автор:
(sapervodichka)
Рейтинг: 7622 Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора. Публикация:
№ 1842686 Создание 10.04.23 12:30 Обновление 26.06.25 21:05 Статистика:
Просмотры 12836 Загрузки 95
Рейтинг
55 Комментарии 32 Характеристики:
Код открыт Да Рубрики Документооборот и делопроизводство (СЭД) Кому Пользователь Тип файла Расширение (cfe) Платформа 1С:Предприятие 8
Конфигурация
1С:ERP Управление предприятием 2
, Операционная система Не имеет значения Страна Не имеет значения Отрасль Не имеет значения Налоги Не имеет значения Вид учета Не имеет значения Доступ к файлу Абонемент ($m) |