Балаев Алексей

52
Рейтинг

forusing
Алексей Балаев



  •   Регистрация: 01.09.2010 (13 лет назад)

  •   Был(а) на сайте: 29.01.2024

Друзья
  • Максим Гончаров
  • Вадим Русляев
  • Александр Тупикин
  • Дмитрий Малышев
  • Евгений Комиссаров
  • Андрей Волин
  •  Оксана Дорохина
Подписчики 8

Группы

Профессиональный разработчик

Рейтинг 52

Анализ активности пользователей

Отчеты и формы Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Windows Абонемент ($m) Внешний отчет (ert,erf) Журнал регистрации

Анализ журнала регистрации произвольной конфигурации формата LGD. Платформа 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

11.05.2018    14611    51    forusing    4       

5

Цветовое оформление вертикальных группировок таблиц СКД

Отчеты и формы Программист Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Россия Абонемент ($m) Внешний отчет (ert,erf) Работа с интерфейсом

Во внешнем отчете продемонстрирован способ цветового оформления вертикальных группировок таблицы СКД без использования макетов. Тестирование производилось на платформе 1С:Предприятие 8.3 (8.3.11.2954)

1 стартмани

11.05.2018    14765    15    forusing    5       

9

Комментарии

ВебинарыВебинар-дискуссия " 7-ой PMBoK - долой устаревшую бюрократию! Новые подходы к проектному управлению: как они изменят проекты 1С и какими будут последствия?"#15 31.01.20 11:08
Добрый день!
Ссылка на регистрацию пришла с опозданием. Можно получить доступ к записи вебинара?
AdminАнализ активности пользователей#2 02.10.19 15:23
(1) а) Проверить установлен ли ODBC-драйвер. б) В форме отчета выбрать файл *.lgd. в) При необходимости - изменить настройки отчета.
ОбменКонвертация 3.0. Пример доработки: два справочника в один#4 24.05.19 12:11
(3) Подмена GUID - на самом деле в получаемом XML "Ссылка" - это текстовое поле (пакет "ExchangeMessage" - Типы значений - Ref), которая не привязана к виду объекта метаданных, а к конкретному элементу (группе, документу). При обозначенном подходе становится возможным поиск по Уникальному идентификатору; просто GIUD (строка) характеристики теперь становится GUID (строка) номенклатуры.
Номенклатура определяется не по владельцу характеристики, а по табличным частям документа. Так что, всегда будет передан корректный "оборотень". Более того, и все реквизиты номенклатуры Приемника будут определяться только по свойствам номенклатуры из табличных частей (конечная выгрузка с полным перечнем реквизитов).
ОбменКонвертация 3.0. Пример доработки: два справочника в один#0 15.05.19 18:20
Доработка правил конвертации путем расширения конфигурации: номенклатура и характеристика (ERP) в номенклатуру (БП).
Admin1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть I#66 21.02.19 13:21
(65) Для тех, кто долго искал как программно "нажать" Ctrl+Shift+{+} (развернуть все ветки; актуально для таблицы формы, представленной в виде дерева по произвольному запросу с группировкой). Работает следующий код:
Код
   objShell = Новый COMОбъект( "WScript.Shell" );
   objShell.SendKeys( "^+" + Символ( 107 ) );
DevЦветовое оформление вертикальных группировок таблиц СКД#2 23.05.18 9:34
Условное оформление для вертикальных группировок не работает (только на уровне шапки таблицы). Или использовать макет, или программно.
AdminАнализ активности пользователей#0 11.05.18 11:57
Анализ журнала регистрации произвольной конфигурации формата LGD. Платформа 1С:Предприятие 8.3 (8.3.11.2954).
DevЦветовое оформление вертикальных группировок таблиц СКД#0 11.05.18 10:56
Во внешнем отчете продемонстрирован способ цветового оформления вертикальных группировок таблицы СКД без использования макетов. Тестирование производилось на платформе 1С:Предприятие 8.3 (8.3.11.2954)
DevДиаграмма ганта.Как убрать лишние часы в временной шкале?#10 05.02.18 11:30
Лучше поздно, чем никогда )
Решение проблемы заключается в том, чтобы "заставить" систему обрабатывать рабочий день (ВремяНачала - ВремяОкончания) как полные сутки. Потребуется преобразование каждой даты интервалов (ДиаграммаМонитораЗагрузкиРемонтнойЗоныОпределитьПериодИнтерв­ала) и формирование "собственной" шкалы времени (ДиаграммаМонитораЗагрузкиРемонтнойЗоныШкалыВремени). Если разрешено редактирование - необходимо выполнить обратные преобразования.

Код
Функция ДиаграммаМонитораЗагрузкиРемонтнойЗоныОпределитьПериодИнтервала( Знач Период, Знач ВремяНачала, Знач ВремяОкончания )
   
   Если ( ВремяНачала > 0 ) ИЛИ ( ВремяОкончания < 24 ) Тогда
      ПериодНачала    = НачалоДня( Период ) + ВремяНачала * 60 * 60;
      ПериодОкончания = НачалоДня( Период ) + ВремяОкончания * 60 * 60 - 1;
      
      Если ( Период < ПериодНачала ) Тогда
         Период = ПериодНачала;
      КонецЕсли;
      
      Если ( Период > ПериодОкончания ) Тогда
         Период = ПериодОкончания;
      КонецЕсли;      
      
      Период = НачалоДня( Период ) + ( Период - НачалоДня( Период ) - ВремяНачала * 60 * 60 ) * 24 / ( ВремяОкончания - ВремяНачала );      
   КонецЕсли;   
   
   Возврат Период;
   
КонецФункции


Процедура ДиаграммаМонитораЗагрузкиРемонтнойЗоныШкалыВремени( Знач ДиаграммаГанта, Знач ПериодНачало, Знач ПериодОкончание, Знач ВремяНачала, Знач ВремяОкончания, Знач ШкалаМинутКратность ) 
   
   ШкалаСутки = ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы[ 0 ];
   
   Если ( ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы.Количество() < 2 ) Тогда
      ШкалаЧасы = ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы.Добавить();
   Иначе
      ШкалаЧасы = ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы[ 1 ];
   КонецЕсли;
   
   Если ( ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы.Количество() < 3 ) Тогда
      ШкалаМинуты = ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы.Добавить();
   Иначе
      ШкалаМинуты = ДиаграммаГанта.ОбластьПостроения.ШкалаВремени.Элементы[ 2 ];
   КонецЕсли;
   
   ШкалаСутки.Метки.Очистить();
   ШкалаЧасы.Метки.Очистить();
   ШкалаМинуты.Метки.Очистить();
   
   Если ( ВремяНачала > 0 ) ИЛИ ( ВремяОкончания < 24 ) Тогда
      ШкалаСутки.Видимость                     = Истина;
      ШкалаЧасы.ОтображатьПериодическиеМетки   = Ложь;
      ШкалаСутки.ЛинииДелений                  = Новый Линия( ТипЛинииДиаграммы.Пунктир );
      
      ШкалаЧасы.Видимость                     = Истина;
      ШкалаЧасы.ОтображатьПериодическиеМетки   = Ложь;
      ШкалаЧасы.ЛинииДелений                     = Новый Линия( ТипЛинииДиаграммы.Пунктир );
      
      ШкалаМинуты.Видимость                     = Истина;
      ШкалаМинуты.ОтображатьПериодическиеМетки = Ложь;
      ШкалаМинуты.ЛинииДелений                 = Новый Линия( ТипЛинииДиаграммы.Пунктир );
      
      Метка           = ШкалаСутки.Метки.Добавить( ДиаграммаМонитораЗагрузкиРемонтнойЗоныОпределитьПериодИнтервала( ТекущаяДата(), ВремяНачала, ВремяОкончания ) );
       Метка.ЦветЛинии = WebЦвета.Красный;
      
      Сутки = НачалоДня( ПериодНачало );
      
      Пока ( Сутки <= ПериодОкончание ) Цикл
         Метка       = ШкалаСутки.Метки.Добавить( ДиаграммаМонитораЗагрузкиРемонтнойЗоныОпределитьПериодИнтервала( Сутки, ВремяНачала, ВремяОкончания ) );
         Метка.Текст = Формат( Сутки, "ДЛФ=DD" ) + ", " + Формат( Сутки, "ДФ=дддд" );
         
         Для Часы = ВремяНачала По ( ВремяОкончания - 1 ) Цикл
            Метка       = ШкалаЧасы.Метки.Добавить( ДиаграммаМонитораЗагрузкиРемонтнойЗоныОпределитьПериодИнтервала( Сутки + Часы * 60 * 60, ВремяНачала, ВремяОкончания ) );
            Метка.Текст = Формат( Часы, "ЧЦ=2; ЧН=; ЧВН=" ) + ":00";
            
            Минуты = 0;
            
            Пока ( Минуты < 60 ) Цикл
               Метка       = ШкалаМинуты.Метки.Добавить( ДиаграммаМонитораЗагрузкиРемонтнойЗоныОпределитьПериодИнтервала( Сутки + Часы * 60 * 60 + Минуты * 60, ВремяНачала, ВремяОкончания ) );
               Метка.Текст = Формат( Минуты, "ЧЦ=2; ЧН=; ЧВН=" );
               
               Минуты = Минуты + ШкалаМинутКратность;
            КонецЦикла;
         КонецЦикла;
         
         Сутки = НачалоДня( Сутки + 24 * 60 * 60 );
      КонецЦикла;
      
   Иначе
      ШкалаСутки.Видимость                     = Истина;
      ШкалаСутки.ОтображатьПериодическиеМетки  = Истина;
      ШкалаСутки.Единица                        = ТипЕдиницыШкалыВремени.День;
      ШкалаСутки.ЛинииДелений                 = Новый Линия( ТипЛинииДиаграммы.Пунктир );
      ШкалаСутки.Кратность                   = 1;
      ШкалаСутки.ФорматДня                    = ФорматДняШкалыВремени.ДеньМесяцаДеньНедели;
      
      ШкалаЧасы.Видимость                     = Истина;
      ШкалаЧасы.ОтображатьПериодическиеМетки   = Истина;
      ШкалаЧасы.Единица                        = ТипЕдиницыШкалыВремени.Час;
      ШкалаЧасы.ЛинииДелений                     = Новый Линия( ТипЛинииДиаграммы.Пунктир );
      ШкалаЧасы.Кратность                       = 1;
      ШкалаЧасы.Формат                       = "ДФ = ЧЧ:мм";

      ШкалаМинуты.Видимость                     = Истина;
      ШкалаМинуты.ОтображатьПериодическиеМетки = Истина;
      ШкалаМинуты.Единица                     = ТипЕдиницыШкалыВремени.Минута;
      ШкалаМинуты.ЛинииДелений                 = Новый Линия( ТипЛинииДиаграммы.Пунктир );
      ШкалаМинуты.Кратность                    = ШкалаМинутКратность;
      
      Метка           = ШкалаСутки.Метки.Добавить( ТекущаяДата() );
       Метка.ЦветЛинии = WebЦвета.Красный;
   КонецЕсли;
   
КонецПроцедуры

Прикрепленные файлы:

ДиаграммаГанта.png