Проверка документов

17.04.23

Функциональные решения - Документооборот и делопроизводство (СЭД)

Расширение, позволяет устанавливать отметки проверки к любому виду документа (Флаг, Ответственный и Время) и запрет редактирования проверенного документа.

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

Наименование Файл Версия Размер
(Устарело) Расширение: Проверка документов (версия 09.04.2023 23:20)
.cfe 52,29Kb
8
.cfe 52,29Kb 8 Скачать
(Устарело) Расширение: Проверка документов (версия 11.04.2023 12:00)
.cfe 52,49Kb
5
.cfe 52,49Kb 5 Скачать
Расширение: Проверка документов (версия 16.04.2023 13:40)
.cfe 55,86Kb
16
.cfe 55,86Kb 16 Скачать

Работает автоматически для всех видов документов

Примечание: Для форм, где есть вызов в ПриСозданииНаСервере() функционала подключаемых команд (в последних продуктах 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С
 
 Другие публикации автора

 

Версии

 
 (Устарело) Расширение: Проверка документов (версия 09.04.2023 23:20)
 
 Расширение: Проверка документов (версия 11.04.2023 12:00)

1) Выбор синхронизации по Номер и Дата будет автоматом до платформы версии 8.3.22, а после будет по УникальномуИдентификатору. Определение версии платформы выполняется через СистемнаяИнформация.ВерсияПриложения. Спасибо за замечание Владимир Родионов Балабас

2) Проверка на ТипЗнч(Форма) = Тип("УправлемаяФорма") устарела и заменена на Тип("ФормаКлиентскогоПриложения"). Это нововведение начиная с совместимости 8.3.14. Спасибо за замечание Алексей Харламов RocKeR_13

3) Добавлено открытие формы документа на Только просмотр, если стоит проверка, а прав на ее снятие нет (до этого был запрет перед записью). Спасибо за замечание Роман Жданов fatman78

4) Добавлена проверка на модифицированность формы документа перед установкой проверки. Спасибо за замечание Роман Жданов fatman78

 

 
 Расширение: Проверка документов (версия 16.04.2023 13:40)

1) Добавлена возможность настройки списка типов объектов, для которых отображается функционал (кнопки, колонки). В предыдущих версия функционал подключался ко всем документам по умолчанию.

Настройка выполняется в регистре сведений "Подключение объектов (Расширение: Проверка документов)", в который можно перейти из Функций технического специалиста либо по навигационной ссылке e1cib/list/РегистрСведений.провдок_ПодключениеОбъектов

В регистре указываются типы документов, для которых требуется отображать функционал проверки.

 

проверка документа

См. также

1С:Документооборот 8, версия 3.0

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

1С:Документооборот 8 - это программное обеспечение, которое позволяет автоматизировать процессы документооборота внутри компании. Оно включает в себя модули для создания, отправки, получения, хранения и обработки документов, таких как счета-фактуры, договоры, акты и т.д. 1С:Документооборот 8 позволяет организовать эффективный обмен документами между различными подразделениями компании и с внешними контрагентами, а также сокращает время на обработку документов и снижает вероятность ошибок.

42500 руб.

19.02.2016    103705    87    4    

71

RayCon® Foreign Trade - Документооборот валютного контроля и международных платежей для участников ВЭД

Операции по ВЭД Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

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

144000 руб.

13.05.2009    66244    20    29    

42

SALE! 35%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 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С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить". Программа сама находит таблицу в файле, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает товарные документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, накладную, заказ клиента и т.д.). Содержит модуль работы с электронной почтой. Для поиска таблиц используются новейшие методы OCR-нейросети. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д.

5400 4968 руб.

04.06.2019    96006    276    169    

287

Модуль «Миграционный учет» для 1С:Предприятие 8

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 1С:Зарплата и кадры бюджетного учреждения 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Набор актуальных на 2023 год форм бланков для ведения миграционного учёта по иностранным работникам в «1С:Зарплата и Управление Персоналом 8», «1С:Бухгалтерия 8», «1С:ERP 8», «1С:УПП 8» и других конфигураций 1С. В решении реализованы все специальные формы, которые по законодательству работодатель должен подавать при трудоустройстве иностранного работника в Отдел миграции ГУ МВД. Модуль устанавливается в режиме 1С:Предприятие 8, что позволяет оставить конфигурацию 1С на стандартной поддержке и продолжать получать стандартные обновления от фирмы "1С". ВАЖНО! Все формы обновлены на соответствующие по законодательству РФ на сегодняшний день.

18890 руб.

06.02.2012    120823    65    87    

130

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Управленческий учет Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для абонентов 1cfresh.com. Сертификат 1С-Совместимо. Расширение входит в TOP устанавливаемых на 1cfresh.com https://dev.1cfresh.com/

14900 руб.

15.11.2018    25419    16    45    

46

Печать договоров по шаблонам для УТ 11, КА 2, ERP 2

Печатные формы Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Обработка реализует функционал работы с шаблонами договоров, используемый в 1С:Бухгалтерия предприятия 3.0. Предназначена для конфигураций - 1С:Управление торговлей 11.5, 3.4 (Беларусь); - 1С:Комплексная автоматизация КА 2; - 1С:ERP Управление предприятием 2;

4900 руб.

19.09.2018    80657    191    148    

206

Обмен документами Поступления-Реализации и Счетами-фактурами в базах 1С Бухгалтерия 8.2, 8.3 с возможностью преобразования

Обмен между базами 1C Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Оптовая торговля Производство готовой продукции (работ, услуг) Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Позволяет выгрузить документы поступления или реализации с данными на закладках "товары" и "услуги" и счета-фактуры в файл Excel (.CSV)и загрузить их, используя настройки преобразования. Выгрузка и загрузка работает в обоих релизах бухгалтерии ( 8.2->8.2, 8.2->8.3, 8.3->8.2, 8.3->8.3). Удобна для обмена документами между базами контрагентов (реализацию в поступление, поступление в реализацию), либо внутри одной базы (поступление из реализации с уменьшением цены на % , реализация из поступления с повышением цены на %), либо перенос документов в копию. Не использует правила обмена, поэтому не зависит от релизов конфигураций. Работает с конфигурациями 8.2 и 8.3 (есть обычная и управляемая форма). Файл обмена универсальный для обоих редакций. ВНИМАНИЕ ! В связи с наличием неуправляемых форм обработка не работает в сервисе 1С:Fresh.

4800 руб.

14.04.2015    102927    198    106    

191

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    42944    49    51    

65
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. evn-zorin 32 10.04.23 13:57 Сейчас в теме
Шедевр!
2. aleksey2 83 10.04.23 14:56 Сейчас в теме
Двое могут проверить ?
4. sapervodichka 6563 10.04.23 16:22 Сейчас в теме
(2) только 1
3. Vladimir-R 167 10.04.23 15:26 Сейчас в теме
Почему не проверил на версию платформы через СистемнаяИнформация.ВерсияПриложения ?
uriy; sapervodichka; +2 Ответить
5. sapervodichka 6563 10.04.23 16:24 Сейчас в теме
(3) не сообразил так сделать
6. fatman78 16 10.04.23 22:29 Сейчас в теме
(5)Вот за что Дмитрия уважаю, так это в первую очередь за честность. :)
7. fatman78 16 10.04.23 22:58 Сейчас в теме
1. Я правильно понимаю что независимо от версии платформы UID объекта все равно в регистре сохранится при установке запрета?

2. "Документ будет запрещен для редактирования пользователям." - только интерактивное изменение из формы объекта блокируется или программное тоже?

3. Не понятно из видео, в момент нажатия "проверено", не контролируется модифицированность формы?
Т.е. логика работы такая: Проверяющий может за один "проход" поправить/заполнить необходимые реквизиты, жмакнуть "проверено" и выйти с сохранением. А если не сохранить документ при выходе, признак "проверено" у объекта не сбросится?

P.S. Публикацию плюсанул...
sapervodichka; +1 Ответить
8. sapervodichka 6563 10.04.23 23:14 Сейчас в теме
(7) Вот за что я люблю Инфостарт, за отличные чёткие замечания (нигде бесплатно таких мега-тестировщиков не найти).
1) UID, Номер и Дата - в регистре хранятся всегда, вне зависимости от платформы
2) Запрет реализован через подписку на событие ПередЗаписью (открытие проверенного документа на просмотр добавлю)
3) Модифицированность не контролируется (добавлю проверку)

Роман, от души, спасибо
9. fatman78 16 10.04.23 23:23 Сейчас в теме
(8) Кстати да, Инфостарт в этом плане от Мисты разительно отличается. На Мисте если кто-то обратится с вопросом "как мне сделать это?", часто вместо конструктивного ответа над ним сначала постебают, а потом еще и будут отговаривать "это делать"... :)
yaguarrr; smit1c; ixijixi; insurgut; +4 Ответить
24. rpgshnik 3497 17.04.23 11:19 Сейчас в теме
(9) миста ещё жива?
10. DrZombi 263 11.04.23 02:37 Сейчас в теме
Поделка конечно прикольное, но реализация храмает. (Хотя и брать 2 стара, это жадность)

Не стоит менять через расширение форму, это превидет в дальнейшем к тому, что бы обновить конфигуратор и сохранить работоспособность вашего расширения, вам придется тратить куеву кучу времени для внесения изменений в каждую форму из осн. Конфы, которую вы подредактировали.

Если не вносить изменения на форму из осн. Конфы, то в итоге вы можете получить полностью мертвую форму в расширении. 1с тоже модифицирует свою программу и работу с расширениями :) 😀

Решение простое, программно добавлять ваши элементы на форму. (Судя по описанию, вы нам это не предоставили)
12. insurgut 207 11.04.23 08:10 Сейчас в теме
(10) да тут вроде ни одной формы в расширение не захвачено. О каком изменении формы речь?
sapervodichka; +1 Ответить
13. sapervodichka 6563 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='Дата проверки'"));
					
					э_провдок_Проверен.КартинкаШапки = БиблиотекаКартинок.провдок_ЗнакСтопБСП;	        
					э_провдок_Проверен.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
					э_провдок_Проверен.Подсказка = "Проверен";            
					э_провдок_Ответственный.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
					э_провдок_ДатаДействия.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
				КонецЕсли;
			КонецЕсли;
			
		КонецЕсли;	  
		
	КонецЕсли;
Показать
shu_vol; insurgut; +2 Ответить
14. RocKeR_13 1246 12.04.23 09:30 Сейчас в теме
(13)
Если ТипЗнч(Форма) = Тип("УправляемаяФорма")

В режиме совместимости 8.3.14 и выше нужно использовать
Тип("ФормаКлиентскогоПриложения")
sapervodichka; +1 Ответить
15. sapervodichka 6563 12.04.23 10:03 Сейчас в теме
(14) спасибо, за инфу (я так понял пока и старый тип работает, но в будущем надо будет поменять)
16. RocKeR_13 1246 12.04.23 10:06 Сейчас в теме
(15) Надо проверить: насколько помню, в 8.3.14 тип остался, но проверка
ТипЗнч(Форма) = Тип("УправляемаяФорма")
уже вернет Ложь, так как тип-то будет ФормаКлиентскогоПриложения
17. sapervodichka 6563 12.04.23 10:14 Сейчас в теме
(16) можешь не проверять, у меня совместимость 8.3.17 и Тип("УправляемаяФорма") норм работает (видео в доказательство)
RocKeR_13; +1 Ответить
18. RocKeR_13 1246 12.04.23 10:27 Сейчас в теме
(17) Возможно это было на какой-то из промежуточных платформ: совершенно точно помню, что тоже в расширении программно модифицировал формы и после обновления проверка ТипЗнч(Форма) = Тип("УправляемаяФорма") стала возвращать Ложь, из-за чего на форме отвалились все доработки - переводил все на Тип("ФормаКлиентскогоПриложения")
sapervodichka; +1 Ответить
11. DrZombi 263 11.04.23 02:44 Сейчас в теме
(9) все куда проще, тут есть тоже самое.
Просто на мисте этим стали злоупотреблять, и просить сделать, а не научиться.

Уловите разницу, в том что получить знание и что бы вместо вас выполнили, не одно и то же :)

И инфо старт не дает готовое решение, даже тут вам в буду щем придется допиливать и вникать, а как оно работает :)
19. sapervodichka 6563 12.04.23 17:28 Сейчас в теме
Новая версия
Расширение: Проверка документов (версия 11.04.2023 12:00)
1) Выбор синхронизации по Номер и Дата будет автоматом до платформы версии 8.3.22, а после будет по УникальномуИдентификатору. Определение версии платформы выполняется через СистемнаяИнформация.ВерсияПриложения. Спасибо за замечание Владимир Родионов Балабас

2) Проверка на ТипЗнч(Форма) = Тип("УправлемаяФорма") устарела и заменена на Тип("ФормаКлиентскогоПриложения"). Это нововведение начиная с совместимости 8.3.14. Спасибо за замечание Алексей Харламов RocKeR_13

3) Добавлено открытие формы документа на Только просмотр, если стоит проверка, а прав на ее снятие нет (до этого был запрет перед записью). Спасибо за замечание Роман Жданов fatman78

4) Добавлена проверка на модифицированность формы документа перед установкой проверки. Спасибо за замечание Роман Жданов fatman78
20. SK-TRIAL 47 15.04.23 10:49 Сейчас в теме
Добрый день.
Планируете для справочников расширять функционал?
Особенно актуально для контрагентов и договоров!

Да многим и номенклатуру захочется "закрыть" от изменений
21. sapervodichka 6563 16.04.23 10:15 Сейчас в теме
(20) замечательная идея, попробую сегодня сделать и опубликовать
22. sapervodichka 6563 17.04.23 01:18 Сейчас в теме
(20) сделал, вероятно завтра опубликуют, ссылку потом сюда прикреплю
23. sapervodichka 6563 17.04.23 10:41 Сейчас в теме
25. Vinzor 54 01.05.23 13:37 Сейчас в теме
Огромный респект автору за это.
Меня пользователи-бухи как раз просили в ЗУПе закрыть возможность изменения "Данных для расчета зарплаты", созданные менеджерами, если они проверены бухгалтерами.
Я почти закончил писать локальную проверку через механизм программно добавляемой в документ команды, которая попеременно при исполнении прописывает / очищает дополнительный реквизит документа "Проверено", тип строка, в ней дата и ФИО того, кто проверил.
Контроль - если ограниченный пользователь (проверка по роли) открывает документ, в котором значение допреквизита заполнено, он открывается ему так, что все значимые элементы формы не доступны.
Но тут увидел публикацию уважаемого Дмитрия, скачал, посмотрел, очень нравится.
Теперь на распутье: то ли своё доделать, то ли от Дмитрия приспособить ? :) :) :)
27. npolavochkina 27.09.23 09:16 Сейчас в теме
(25) Еще есть третий вариант. Можно использовать появившийся в ЗУП механизм "Процессы обработки документов". Реализовал в нем проверку и согласование табеля с запретом на редактирование если проверка пройдена за полчаса без внесение изменений в конфу вообще.
26. iLonmaks 13 06.06.23 12:49 Сейчас в теме
Разработчику
Было бы хорошо так же добавить гибкость , например если в организации несколько организаций\складов и например хочется установить подобную проверку только для определенного склада\организации..
например если хочу что бы проверялись все реализации определенного склада только определенным сотрудником .
Оставьте свое сообщение