Структура подчиненности с хронологией документов и кнопками проведения и удаления

Публикация № 1096597

Программирование - Инструментарий

Структура подчиненности документов хронология время проведение пометка удаление отмена проведения

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

Форма разделена на 2 части

  • Верхняя часть - Стандартный табличный документ со структурой подчиненности
  • Нижняя часть  - Диаграмма Ганта с хронологической последовательностью документов (от раннего к позднему - сверху вниз, слева направо)

Также в верхней части и в контекстном меню (или по правой кнопке мыши) вы можете видеть кнопки: Проведение, Отмена проведения, Пометка удаления - работающие для текущего выделенного документа в верхней части.

Проверялось расширение на демо базах 1С, находящихся на поддержке (картинки ниже)

  • 1С:ERP Управление предприятием 2 (2.4.8.84)
  • 1С:Комплексная автоматизация 2 (2.4.6.189)
  • 1С:Управление торговлей, редакция 11 (11.4.8.84)
  • 1C:Бухгалтерия предприятия, редакция 3.0 (3.0.38.35)

После подключения расширения (см. ниже "Приложение 1: Подключение расширения") при вызове стандартной кнопки [Структура подчиненности]  у неё появится новые возможности

Статусы документов и окраска в диаграмме

  • Проведенные документы - Зеленый цвет
  • Помеченные на удаление - Красный цвет
  • Просто записанные - Желтый

По щелчку на элементе диаграммы открывается документ

Группа диаграммы может быть свернута и развернута, чтобы освобождать место

Настройка шкалы времени в диаграмме, можно сделать прямо в форме

По умолчанию она по дням и автоматически, но можно установить, например: по месяцам, годам и чтобы помещались все документы, вызвав правой кнопкой мыши на диаграмме меню настроек

Рис. Пример из 1С: ERP Управление предприятием

Рис. Пример из 1С: Комплексной автоматизации

Рис. Пример из 1С: Управление торговлей

Рис. Пример из 1С:Бухгалтерии предприятия

 

 

ПРИЛОЖЕНИЕ 1: Подключение расширения

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

ПРИЛОЖЕНИЕ 2: Настройка совместимости в старых релизах

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

 

 

 

70

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

Наименование Файл Версия Размер
Структура подчиненности с хронологией документов и кнопками проведения и удаления:
.cfe 9,43Kb
20.07.19
44
.cfe 9,43Kb 44 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. insurgut 197 23.07.19 12:09 Сейчас в теме
Если эта штука ещё из журнала регистрации выводила бы когда документы изменялись/перепроводились - было бы вообще круто :)
sapervodichka; +1 Ответить
2. KazanKokos 7 23.07.19 12:43 Сейчас в теме
(1) анрил. ЖР тормоз и быстрая выборка в ней невозможна. Необходимо отдельный регистр заводить по операциям над документами, ну или где-то видел готовые механизмы типа нетипового ЖР на регистрах. Контроль версий опять таки можно включить то он вроде быстрый и его еще можно использовать.
sapervodichka; +1 Ответить
3. shard 251 24.07.19 15:36 Сейчас в теме
(1) ковырнул в этом направлении с применением данных регистра версий объектов (естественно, версионирование должно быть включено). Вот что получилось:

история версий ведется по заказам и реализациям, по счф не ведется. Заказ 19854 проводился в 10, 15-17 числах, реализация 10877 проводилась 15го числа, была распроведена 17го. счф 11123 от 15го числа висит непроведенной. Проверял на УТ 11.4.8.84.
По изменениям документов считаю нецелесообразным собирать инфу в структуре подчиненности.

Для этого необходимо изменить процедуру Расш1_ДобавитьДокументВТаблицу на
&НаСервере
Процедура Расш1_ДобавитьДокументВТаблицу(_Документ, _ТаблицаДокументов)
	
	запрос=новый запрос("ВЫБРАТЬ
		|	НАЧАЛОПЕРИОДА(ВерсииОбъектов.ДатаВерсии, ДЕНЬ) КАК ДеньВерсии,
		|	ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,
		|	ВерсииОбъектов.НомерВерсии КАК НомерВерсии
		|ПОМЕСТИТЬ ВТ
		|ИЗ
		|	РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
		|ГДЕ
		|	ВерсииОбъектов.Объект = &Объект
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|ВЫБРАТЬ
		|	ВТ.ДеньВерсии КАК ДеньВерсии,
		|	МАКСИМУМ(ВТ.ДатаВерсии) КАК ДатаВерсии
		|ПОМЕСТИТЬ ВТ1
		|ИЗ
		|	ВТ КАК ВТ
		|
		|СГРУППИРОВАТЬ ПО
		|	ВТ.ДеньВерсии
		|;
		|
		|////////////////////////////////////////////////////////////­////////////////////
		|ВЫБРАТЬ
		|	ВТ1.ДеньВерсии КАК ДеньВерсии,
		|	ВТ1.ДатаВерсии КАК ДатаВерсии,
		|	МАКСИМУМ(ВТ1.НомерВерсии) КАК НомерВерсии
		|ИЗ
		|	ВТ1 КАК ВТ
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ1
		|		ПО ВТ.ДатаВерсии = ВТ1.ДатаВерсии
		|
		|СГРУППИРОВАТЬ ПО
		|	ВТ1.ДеньВерсии,
		|	ВТ1.ДатаВерсии
		|");
	запрос.УстановитьПараметр("Объект",_Документ);
	выборкаСостояний=запрос.Выполнить().выбрать();
	пока выборкаСостояний.Следующий() цикл
		тзРеквизитов=ВерсионированиеОбъектов.РазборВерсии(_Документ, выборкаСостояний.НомерВерсии).Реквизиты;
		НовСтр_ТаблицаДокументов = _ТаблицаДокументов.Добавить();
		НовСтр_ТаблицаДокументов.Документ = _Документ;
		НовСтр_ТаблицаДокументов.Дата = выборкаСостояний.ДеньВерсии;
		
		строчка=тзРеквизитов.найти("DeletionMark","НаименованиеРеквизита");
		если строчка<>Неопределено тогда
			НовСтр_ТаблицаДокументов.ПометкаУдаления=строчка.ЗначениеРеквизита;
		КонецЕсли;		
		строчка=тзРеквизитов.найти("Posted","НаименованиеРеквизита");
		если строчка<>Неопределено тогда
			НовСтр_ТаблицаДокументов.Проведен=строчка.ЗначениеРеквизита;
		КонецЕсли;		
	КонецЦикла;
	
	Попытка 
		_Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(_Документ, "Дата, Проведен, ПометкаУдаления");
	Исключение
		Возврат;
	КонецПопытки;
	
	Если _ТаблицаДокументов.Найти(_Документ, "Документ") = Неопределено Тогда
		НовСтр_ТаблицаДокументов = _ТаблицаДокументов.Добавить();
		ЗаполнитьЗначенияСвойств(НовСтр_ТаблицаДокументов, _Реквизиты);
		НовСтр_ТаблицаДокументов.Документ = _Документ;
	КонецЕсли;
	
КонецПроцедуры
Показать
molodoi1sneg; +1 Ответить
4. blindcat2006 66 28.07.19 18:09 Сейчас в теме
Шикарная штука, "+" поставил.
Из маленьких "придеризмов" - а можно в диаграме выделить как-то документ по которому построилось дерево? (жирным шрифтом например , как и в самом отчете)
5. gull22 87 30.07.19 14:29 Сейчас в теме
Программа ЕРП. В настройках расширения поставил единицу времени ЧАС. Рассчитывал увидеть начало диаграммы для документа в момент его создания (поле = Дата). Увы, прорисовывается на весь день. Можно учитывать на диаграмме время создания документа при выборе единицы времени меньше дня. Логично, что конец диаграммы для документа - это конец дня создания.
6. sapervodichka 1415 30.07.19 14:54 Сейчас в теме
(5) с практической точки зрения зачем это нужно?
7. gull22 87 31.07.19 09:34 Сейчас в теме
Пока простое любопытство.
Но возникает встречный вопрос: зачем в настройках нужны единицы времени менее дня, если в диаграмме все равно прорисовывается день целиком?
8. sapervodichka 1415 31.07.19 09:46 Сейчас в теме
(7) это штатная опция диаграммы ганта, её здесь можно не использовать, т.к. у меня минимальный интервал день заложен в коде. Сделано из-за масштаба, когда документы разбегаются на длительные промежутки, чтобы были видны интервалы в диаграмме
9. gull22 87 31.07.19 09:55 Сейчас в теме
(8)
Тогда чисто теоретический вопрос: а можно выводить в диаграмме начало документа, учитывая час создания?
10. sapervodichka 1415 31.07.19 09:56 Сейчас в теме
(9) да, вместо интервала в коде нач и кон дня, можно сделать нач и кон часа от даты документа.
11. 7OH 32 31.07.19 11:18 Сейчас в теме
А зачем вызов методов через Выполнить сделали ?
12. sapervodichka 1415 31.07.19 11:30 Сейчас в теме
(11) часть вызовов сделана с вилками вариантов через Выполнить("...") для адаптации к конфигурациям, в том числе к Бухгалтерии предприятия, где форма структуры подчиненности с другими реквизитами.
Прикрепленные файлы:
13. 7OH 32 31.07.19 11:31 Сейчас в теме
(12) а попытка исключения с обычным кодом не сработает разве также ?
14. ivan_luzinov 37 05.08.19 15:02 Сейчас в теме
Офигенская штука! Спасибо!
15. tsatsur 3 12.08.19 08:41 Сейчас в теме
Отличное расширение. Забрал и немного переделал (сделал программное добавление на форму команд и кнопок, чтобы смело переживало обновления формы:). Спасибо.
Оставьте свое сообщение