ЗУП 2.0 (2.0.18.3 Доработка графика работы
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22
  1. #1
    Пришел за помощью

    Регистрация
    14.08.2019
    Сообщений
    30
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию ЗУП 2.0 (2.0.18.3 Доработка графика работы

    обрый день. Имеет ЗУП 2.0
    Необходимо изменить стандартный график работы
    Как в файле 51
    Я поправил макет как нужно

    Добавил доп столбец ОТКЛОНЕНИЕ от баланса (переработка/недоработка), в ней 3 параметра
    ОтклЧасов
    ОтклКвартал
    ОтклГод
    Весь график заполняется как положено
    но мои параметры остаются пустые
    Как их заполнить исходя из форму в файле 51

    1С не когда не кодил.

    Спасибо большое за помощь.

    Код

    Код:
    Функция Печать(КалендарьНаборЗаписей, ГодПечати = Неопределено) Экспорт
            
        Если Не ЗначениеЗаполнено(ГодПечати) Тогда
            ГодПечати = ТекущийГод;
        КонецЕсли;
        
        ВыводитьИтогиПроизводственногоКалендаря = Истина;
        ДатаНачалаИнтервала        = НачалоГода(ГодПечати);
        ДатаОкончанияИнтервала  = КонецГода(ГодПечати);
        ДнейВИнтервале = (КонецДня(ДатаОкончанияИнтервала) - НачалоДня(ДатаНачалаИнтервала) + 1) / мДлинаСуток;
        Календарь = ПолучитьДниВПроизводственномКалендаре(ДатаНачалаИнтервала, ДатаОкончанияИнтервала); // это соответствие: дата - вид дня
        Если ДнейВИнтервале <> Календарь.Количество() Тогда
            Сообщить("Проверьте правильность заполнения регламентированного производственного календаря на " + Формат(Год(ГодПечати), "ЧГ=5") + " год", СтатусСообщения.Важное);
            ВыводитьИтогиПроизводственногоКалендаря = Ложь;
        КонецЕсли;
        
        ПечатныйДокумент = Новый ТабличныйДокумент;
        ПечатныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ГрафикиРаботы";
        ПечатныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        ПечатныйДокумент.Автомасштаб = Истина;
    
        Макет = ПолучитьМакет("Макет");
        
        ОбластьДанныхШапка               = Макет.ПолучитьОбласть("Шапка");
        
        //ОТОБРАЖАЕМ ВСЕ ОБЛАСТЬ ШАПКИ ++
        //++ ОбластьДанныхШапка               = Макет.ПолучитьОбласть("Шапка|Месяцы");
        
        
        ОбластьДанныхКолонтитул       = Макет.ПолучитьОбласть("Колонтитул");
        ОбластьДанныхРасширение       = Макет.ПолучитьОбласть("Расширение");
        ОбластьДанныхДень             = Макет.ПолучитьОбласть("День|Месяцы");
        ОбластьДанныхДеньПоДням       = Макет.ПолучитьОбласть("День|Дни");    
        ОбластьДанныхНочные           = Макет.ПолучитьОбласть("НЧ");
        ОбластьИтогиЗаМесяц           = Макет.ПолучитьОбласть("День|Итоги");
        ОбластьИтогиЗаКвартал         = Макет.ПолучитьОбласть("Квартал");    
        ОбластьИтогиЗаКварталНЧ       = Макет.ПолучитьОбласть("КварталНЧ");
        ОбластьИтогиЗаГод              = Макет.ПолучитьОбласть("Год");    
        ОбластьИтогиЗаГодНЧ              = Макет.ПолучитьОбласть("ГодНЧ");
        ОбластьКалендаря              = Макет.ПолучитьОбласть("Календарь");        
        ОбластьПодписи                  = Макет.ПолучитьОбласть("Подпись");
        ОбластьРасширениеИтоги          = Макет.ПолучитьОбласть("РасширениеИтоги");
        //Получаем мою область ++
        //ОбластьДеньКалендарь              = Макет.ПолучитьОбласть("День|Календарь");
      
        
        //ОбластьКалендаря.Параметры.ОтклЧасов=111;    
        //ПечатныйДокумент.Вывести(ОбластьКалендаря);
    
        
        ОбластьДанныхШапка.Параметры.Наименование = "График работы '" + СокрЛП(ЭтотОбъект.Наименование)    + "' на " + Формат(Год(ГодПечати), "ЧГ=5") + " год";
        ПечатныйДокумент.Вывести(ОбластьДанныхШапка);
        
        
        
        ОбластьДнейЗаголовок = "Часов за день";
        Если УчитыватьНочныеЧасы Тогда
            ОбластьДнейЗаголовок = ОбластьДнейЗаголовок + ", в том числе ночных";
        КонецЕсли;
        ОбластьДанныхКолонтитул.Параметры.Установить(0, ОбластьДнейЗаголовок);
        ПечатныйДокумент.Вывести(ОбластьДанныхКолонтитул);
        
        ДнейЗаКвартал                         = 0;
        ЧасовЗаКвартал                         = 0;
        НочныхЧасовЗаКвартал                = 0;
        ДнейЗаГод                             = 0;
        ЧасовЗагод                             = 0;
        НочныхЧасовЗаГод                     = 0;
        ДнейПоКалендарю                        = 0;
        ЧасовПоКалендарю                    = 0;
        ВыходныхПоКалендарю                    = 0;
        ДнейЗаКварталПоКалендарю            = 0;
        ЧасовЗаКварталПоКалендарю            = 0;
        ВыходныхЗаКварталПоКалендарю        = 0;
        ДнейЗаГодПоКалендарю                = 0;
        ЧасовЗаГодПоКалендарю               = 0;
        ВыходныхЗаГодПоКалендарю            = 0;
        Квартал                              = 0;
        ИндексСтраницы                        = 0;
        
        ОтклЧасов                           = 0;
        ОтклКвартал                         = 0;
        ОтклГод                             = 0;
    
    
        
        
        Для Индекс = 0 По 11 Цикл
            
            НомерМесяца = Индекс + 1;
            НазваниеМесяца = КалендарьНаборЗаписей[Индекс].Месяц;
            Дней           = КалендарьНаборЗаписей[Индекс].ДнейЗаМесяц;
            Часов          = КалендарьНаборЗаписей[Индекс].ЧасовЗаМесяц;        
            НочныхЧасов       = КалендарьНаборЗаписей[Индекс].НочныхЧасовЗаМесяц;
            
            Если НомерМесяца = 4 ИЛИ НомерМесяца = 7 ИЛИ НомерМесяца = 10 Тогда
                ДнейЗаКвартал  = 0;
                ЧасовЗаквартал = 0;            
                НочныхЧасовЗаКвартал = 0;
            КонецЕсли;
            
            ДнейЗаКвартал  = ДнейЗаКвартал + Дней;
            ЧасовЗаКвартал = ЧасовЗаКвартал + Часов;
            ДнейЗаГод = ДнейЗаГод + Дней;
            ЧасовЗаГод = ЧасовЗаГод + Часов;        
            НочныхЧасовЗаГод = НочныхЧасовЗаГод + НочныхЧасов;
            
            ДанныеМесяца = КалендарьНаборЗаписей[Индекс];
            ОбластьДанныхДень.Параметры.Заполнить(ДанныеМесяца); 
            
            
                    
                    
            
            
            СтрокаСПодвалом = Новый Массив; // создадим массив для проверки вывода 
            СтрокаСПодвалом.Добавить(ОбластьДанныхДень); 
            СтрокаСПодвалом.Добавить(ОбластьИтогиЗаКвартал);        
            СтрокаСПодвалом.Добавить(ОбластьИтогиЗаКварталНЧ);
            
            Если Не УниверсальныеМеханизмы.ПроверитьВыводДляТабличногоДокумента(ПечатныйДокумент, СтрокаСПодвалом) Тогда
                ПечатныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                ПечатныйДокумент.Вывести(ОбластьДанныхКолонтитул);
                ИндексСтраницы = ИндексСтраницы+1;
            КонецЕсли;
            
            ПечатныйДокумент.Вывести(ОбластьДанныхДень);
            
            ОбластьДанныхДеньПоДням.Параметры.Заполнить(ДанныеМесяца);
            ОбластьИтогиЗаМесяц.Параметры.Заполнить(ДанныеМесяца);
            Если УчитыватьНочныеЧасы Тогда
                ОбластьДанныхНочные.Параметры.Заполнить(ДанныеМесяца);
                НочныхЧасовЗаКвартал = НочныхЧасовЗаКвартал + НочныхЧасов;
                ОбластьИтогиЗаКварталНЧ.Параметры.Установить(0, НочныхЧасовЗаКвартал);
            КонецЕсли; 
            
            ДнейВМесяце = КоличествоДнейВМесяце(НомерМесяца, Год(ГодПечати)); 
            Если ДнейВМесяце < 31 Тогда
                ЛишнийДень = ДнейВМесяце + 1;
                Пока ЛишнийДень <= 31 Цикл
                    ОбластьДанныхДеньПоДням.Параметры.Установить(ЛишнийДень-1, "X");
                    ОбластьДанныхНочные.Параметры.Установить(ЛишнийДень-1, "X");
                    ЛишнийДень = ЛишнийДень + 1;
                КонецЦикла;
            КонецЕсли;
            
            //Установим параметры производственного календаря
            ДанныеПроизводственногоКалендаря = ДанныеПроизводственногоКалендаря(НомерМесяца);
            ТаблицаИтоговКалендаря = ДанныеПроизводственногоКалендаряЗаГод(Год(ГодПечати));
                
            Если ВыводитьИтогиПроизводственногоКалендаря Тогда
                ТаблицаИтогов = ТаблицаИтоговКалендаря[Индекс];
                ОбластьИтогиЗаМесяц.Параметры.Установить(2, ТаблицаИтоговКалендаря[Индекс].ДнейПоКалендарю);
                ОбластьИтогиЗаМесяц.Параметры.Установить(3, ТаблицаИтоговКалендаря[Индекс].ЧасовПоКалендарю);
                ОбластьИтогиЗаМесяц.Параметры.Установить(4, ТаблицаИтоговКалендаря[Индекс].ВыходныхПоКалендарю);
            КонецЕсли;
            
            ПечатныйДокумент.Присоединить(ОбластьДанныхДеньПоДням);
            ПечатныйДокумент.Присоединить(ОбластьИтогиЗаМесяц);
            Если УчитыватьНочныеЧасы Тогда
                ПечатныйДокумент.Вывести(ОбластьДанныхНочные);
            Иначе
                ПечатныйДокумент.Вывести(ОбластьДанныхРасширение);
            КонецЕсли;
                    
            //Выделим цветом нерабочие дни в календаре
            ТекущийМесяц = НачалоМесяца(Дата(Год(ГодПечати), НомерМесяца, 1));
            ДеньНеделиМесяца = ДеньНедели(НачалоМесяца(ТекущийМесяц));
            Для НомерДня = 1 По 31 Цикл
                Если НомерДня <= ДнейВМесяце Тогда
                    Если ДанныеПроизводственногоКалендаря.Количество() > 0 Тогда
                        ВидДня = ДанныеПроизводственногоКалендаря[НомерДня - 1].ВидДня;
                        Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье 
                            Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота 
                            Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник Тогда
                            ОбластьВыходных = ПечатныйДокумент.НайтиТекст(Строка(НомерДня),,,,Истина);
                            ОбластьДляЗакрашивания = ПечатныйДокумент.Область(ОбластьВыходных.Верх + НомерМесяца*2 + Квартал*2- 1, ОбластьВыходных.Лево, ОбластьВыходных.Верх + НомерМесяца*2  + Квартал*2, ОбластьВыходных.Лево);
                            ОбластьДляЗакрашивания.ЦветФона = КрасныйЦвет;
                        КонецЕсли;
                    КонецЕсли;
                Иначе
                    ОбластьЛишнихДней = ПечатныйДокумент.НайтиТекст(Строка(НомерДня),,,,Истина);
                    ОбластьДляЗакрашивания = ПечатныйДокумент.Область(ОбластьЛишнихДней.Верх + НомерМесяца*2 + Квартал*2 - 1, ОбластьЛишнихДней.Лево, ОбластьЛишнихДней.Верх + НомерМесяца*2 + Квартал*2, ОбластьЛишнихДней.Лево);
                    ОбластьДляЗакрашивания.ЦветФона = СерыйЦвет;
                КонецЕсли;
            КонецЦикла;
            
            Если НомерМесяца = 3 ИЛИ НомерМесяца = 6 ИЛИ НомерМесяца = 9 ИЛИ НомерМесяца = 12 Тогда
                Квартал = НомерМесяца/3;
                ОбластьИтогиЗаКвартал.Параметры.Установить(0, "" + Квартал + " квартал");
                ОбластьИтогиЗаКвартал.Параметры.Установить(1, ДнейЗаКвартал);
                ОбластьИтогиЗаКвартал.Параметры.Установить(2, ЧасовЗаКвартал);
                Если ВыводитьИтогиПроизводственногоКалендаря Тогда
                    ОбластьИтогиЗаКвартал.Параметры.Установить(3, ТаблицаИтоговКалендаря[НомерМесяца-1].ДнейЗаКварталПоКалендарю);
                    ОбластьИтогиЗаКвартал.Параметры.Установить(4, ТаблицаИтоговКалендаря[НомерМесяца-1].ЧасовЗаКварталПоКалендарю);
                    ОбластьИтогиЗаКвартал.Параметры.Установить(5, ТаблицаИтоговКалендаря[НомерМесяца-1].ВыходныхЗаКварталПоКалендарю); 
                КонецЕсли;
                
                ПечатныйДокумент.Вывести(ОбластьИтогиЗаКвартал);
                
                Если  УчитыватьНочныеЧасы Тогда
                    ПечатныйДокумент.Присоединить(ОбластьИтогиЗаКварталНЧ);                
                Иначе
                    ПечатныйДокумент.Вывести(ОбластьРасширениеИтоги);
                КонецЕсли;
            КонецЕсли;
            
        КонецЦикла;
    
        ОбластьИтогиЗаГод.Параметры.Установить(0, ДнейЗаГод);
        ОбластьИтогиЗаГод.Параметры.Установить(1, ЧасовЗаГод);
        Если ВыводитьИтогиПроизводственногоКалендаря Тогда
            ОбластьИтогиЗаГод.Параметры.Установить(2, ТаблицаИтоговКалендаря[11].ДнейЗаГодПоКалендарю);
            ОбластьИтогиЗаГод.Параметры.Установить(3, ТаблицаИтоговКалендаря[11].ЧасовЗаГодПоКалендарю);
            ОбластьИтогиЗаГод.Параметры.Установить(4, ТаблицаИтоговКалендаря[11].ВыходныхЗаГодПоКалендарю);
        КонецЕсли;
        
        ПечатныйДокумент.Вывести(ОбластьИтогиЗаГод);
        
        Если УчитыватьНочныеЧасы Тогда
            ОбластьИтогиЗаГодНЧ.Параметры.Установить(0, НочныхЧасовЗаГод);
            ПечатныйДокумент.Вывести(ОбластьИтогиЗаГодНЧ);
        Иначе
            ПечатныйДокумент.Вывести(ОбластьРасширениеИтоги);
            ОбластьИтоговЗаГод = ПечатныйДокумент.НайтиТекст("Итого за год:");
            СераяОбласть = ПечатныйДокумент.Область(ОбластьИтоговЗаГод.Верх + 1, ОбластьИтоговЗаГод.Лево, ОбластьИтоговЗаГод.Верх + 1, ОбластьИтоговЗаГод.Лево + 37);
            СераяОбласть.ЦветФона = ЦветаСтиля.ФонГруппировкиВерхнегоУровня;
        КонецЕсли;
    
        ПечатныйДокумент.Вывести(ОбластьПодписи);
    
        УниверсальныеМеханизмы.НапечататьДокумент(ПечатныйДокумент, , , "График работы " + Наименование);
        
        
            
    
    КонецФункции
    Изображения Изображения
    • Тип файла: jpg 1.jpg (96.4 Кб, Просмотров: 7)

  2. #2
    Пришел за помощью

    Регистрация
    14.08.2019
    Сообщений
    30
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    файл экселя
    https://fotolub.com/ZUNdQ

  3. #3
    Спец PRO +

    Регистрация
    18.07.2018
    Сообщений
    575
    Сказал(а) спасибо
    326
    Поблагодарили 3602 раз(а) в 617 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Цитата Сообщение от gribok Посмотреть сообщение
    обрый день. Имеет ЗУП 2.0
    Необходимо изменить стандартный график работы
    Как в файле 51
    Я поправил макет как нужно

    Добавил доп столбец ОТКЛОНЕНИЕ от баланса (переработка/недоработка), в ней 3 параметра
    ОтклЧасов
    ОтклКвартал
    ОтклГод
    Весь график заполняется как положено
    но мои параметры остаются пустые
    Как их заполнить исходя из форму в файле 51

    1С не когда не кодил.

    Спасибо большое за помощь.

    Код

    Код:
    Функция Печать(КалендарьНаборЗаписей, ГодПечати = Неопределено) Экспорт
            
        Если Не ЗначениеЗаполнено(ГодПечати) Тогда
            ГодПечати = ТекущийГод;
        КонецЕсли;
        
        ВыводитьИтогиПроизводственногоКалендаря = Истина;
        ДатаНачалаИнтервала        = НачалоГода(ГодПечати);
        ДатаОкончанияИнтервала  = КонецГода(ГодПечати);
        ДнейВИнтервале = (КонецДня(ДатаОкончанияИнтервала) - НачалоДня(ДатаНачалаИнтервала) + 1) / мДлинаСуток;
        Календарь = ПолучитьДниВПроизводственномКалендаре(ДатаНачалаИнтервала, ДатаОкончанияИнтервала); // это соответствие: дата - вид дня
        Если ДнейВИнтервале <> Календарь.Количество() Тогда
            Сообщить("Проверьте правильность заполнения регламентированного производственного календаря на " + Формат(Год(ГодПечати), "ЧГ=5") + " год", СтатусСообщения.Важное);
            ВыводитьИтогиПроизводственногоКалендаря = Ложь;
        КонецЕсли;
        
        ПечатныйДокумент = Новый ТабличныйДокумент;
        ПечатныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ГрафикиРаботы";
        ПечатныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
        ПечатныйДокумент.Автомасштаб = Истина;
    
        Макет = ПолучитьМакет("Макет");
        
        ОбластьДанныхШапка               = Макет.ПолучитьОбласть("Шапка");
        
        //ОТОБРАЖАЕМ ВСЕ ОБЛАСТЬ ШАПКИ ++
        //++ ОбластьДанныхШапка               = Макет.ПолучитьОбласть("Шапка|Месяцы");
        
        
        ОбластьДанныхКолонтитул       = Макет.ПолучитьОбласть("Колонтитул");
        ОбластьДанныхРасширение       = Макет.ПолучитьОбласть("Расширение");
        ОбластьДанныхДень             = Макет.ПолучитьОбласть("День|Месяцы");
        ОбластьДанныхДеньПоДням       = Макет.ПолучитьОбласть("День|Дни");    
        ОбластьДанныхНочные           = Макет.ПолучитьОбласть("НЧ");
        ОбластьИтогиЗаМесяц           = Макет.ПолучитьОбласть("День|Итоги");
        ОбластьИтогиЗаКвартал         = Макет.ПолучитьОбласть("Квартал");    
        ОбластьИтогиЗаКварталНЧ       = Макет.ПолучитьОбласть("КварталНЧ");
        ОбластьИтогиЗаГод              = Макет.ПолучитьОбласть("Год");    
        ОбластьИтогиЗаГодНЧ              = Макет.ПолучитьОбласть("ГодНЧ");
        ОбластьКалендаря              = Макет.ПолучитьОбласть("Календарь");        
        ОбластьПодписи                  = Макет.ПолучитьОбласть("Подпись");
        ОбластьРасширениеИтоги          = Макет.ПолучитьОбласть("РасширениеИтоги");
        //Получаем мою область ++
        //ОбластьДеньКалендарь              = Макет.ПолучитьОбласть("День|Календарь");
      
        
        //ОбластьКалендаря.Параметры.ОтклЧасов=111;    
        //ПечатныйДокумент.Вывести(ОбластьКалендаря);
    
        
        ОбластьДанныхШапка.Параметры.Наименование = "График работы '" + СокрЛП(ЭтотОбъект.Наименование)    + "' на " + Формат(Год(ГодПечати), "ЧГ=5") + " год";
        ПечатныйДокумент.Вывести(ОбластьДанныхШапка);
        
        
        
        ОбластьДнейЗаголовок = "Часов за день";
        Если УчитыватьНочныеЧасы Тогда
            ОбластьДнейЗаголовок = ОбластьДнейЗаголовок + ", в том числе ночных";
        КонецЕсли;
        ОбластьДанныхКолонтитул.Параметры.Установить(0, ОбластьДнейЗаголовок);
        ПечатныйДокумент.Вывести(ОбластьДанныхКолонтитул);
        
        ДнейЗаКвартал                         = 0;
        ЧасовЗаКвартал                         = 0;
        НочныхЧасовЗаКвартал                = 0;
        ДнейЗаГод                             = 0;
        ЧасовЗагод                             = 0;
        НочныхЧасовЗаГод                     = 0;
        ДнейПоКалендарю                        = 0;
        ЧасовПоКалендарю                    = 0;
        ВыходныхПоКалендарю                    = 0;
        ДнейЗаКварталПоКалендарю            = 0;
        ЧасовЗаКварталПоКалендарю            = 0;
        ВыходныхЗаКварталПоКалендарю        = 0;
        ДнейЗаГодПоКалендарю                = 0;
        ЧасовЗаГодПоКалендарю               = 0;
        ВыходныхЗаГодПоКалендарю            = 0;
        Квартал                              = 0;
        ИндексСтраницы                        = 0;
        
        ОтклЧасов                           = 0;
        ОтклКвартал                         = 0;
        ОтклГод                             = 0;
    
    
        
        
        Для Индекс = 0 По 11 Цикл
            
            НомерМесяца = Индекс + 1;
            НазваниеМесяца = КалендарьНаборЗаписей[Индекс].Месяц;
            Дней           = КалендарьНаборЗаписей[Индекс].ДнейЗаМесяц;
            Часов          = КалендарьНаборЗаписей[Индекс].ЧасовЗаМесяц;        
            НочныхЧасов       = КалендарьНаборЗаписей[Индекс].НочныхЧасовЗаМесяц;
            
            Если НомерМесяца = 4 ИЛИ НомерМесяца = 7 ИЛИ НомерМесяца = 10 Тогда
                ДнейЗаКвартал  = 0;
                ЧасовЗаквартал = 0;            
                НочныхЧасовЗаКвартал = 0;
            КонецЕсли;
            
            ДнейЗаКвартал  = ДнейЗаКвартал + Дней;
            ЧасовЗаКвартал = ЧасовЗаКвартал + Часов;
            ДнейЗаГод = ДнейЗаГод + Дней;
            ЧасовЗаГод = ЧасовЗаГод + Часов;        
            НочныхЧасовЗаГод = НочныхЧасовЗаГод + НочныхЧасов;
            
            ДанныеМесяца = КалендарьНаборЗаписей[Индекс];
            ОбластьДанныхДень.Параметры.Заполнить(ДанныеМесяца); 
            
            
                    
                    
            
            
            СтрокаСПодвалом = Новый Массив; // создадим массив для проверки вывода 
            СтрокаСПодвалом.Добавить(ОбластьДанныхДень); 
            СтрокаСПодвалом.Добавить(ОбластьИтогиЗаКвартал);        
            СтрокаСПодвалом.Добавить(ОбластьИтогиЗаКварталНЧ);
            
            Если Не УниверсальныеМеханизмы.ПроверитьВыводДляТабличногоДокумента(ПечатныйДокумент, СтрокаСПодвалом) Тогда
                ПечатныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                ПечатныйДокумент.Вывести(ОбластьДанныхКолонтитул);
                ИндексСтраницы = ИндексСтраницы+1;
            КонецЕсли;
            
            ПечатныйДокумент.Вывести(ОбластьДанныхДень);
            
            ОбластьДанныхДеньПоДням.Параметры.Заполнить(ДанныеМесяца);
            ОбластьИтогиЗаМесяц.Параметры.Заполнить(ДанныеМесяца);
            Если УчитыватьНочныеЧасы Тогда
                ОбластьДанныхНочные.Параметры.Заполнить(ДанныеМесяца);
                НочныхЧасовЗаКвартал = НочныхЧасовЗаКвартал + НочныхЧасов;
                ОбластьИтогиЗаКварталНЧ.Параметры.Установить(0, НочныхЧасовЗаКвартал);
            КонецЕсли; 
            
            ДнейВМесяце = КоличествоДнейВМесяце(НомерМесяца, Год(ГодПечати)); 
            Если ДнейВМесяце < 31 Тогда
                ЛишнийДень = ДнейВМесяце + 1;
                Пока ЛишнийДень <= 31 Цикл
                    ОбластьДанныхДеньПоДням.Параметры.Установить(ЛишнийДень-1, "X");
                    ОбластьДанныхНочные.Параметры.Установить(ЛишнийДень-1, "X");
                    ЛишнийДень = ЛишнийДень + 1;
                КонецЦикла;
            КонецЕсли;
            
            //Установим параметры производственного календаря
            ДанныеПроизводственногоКалендаря = ДанныеПроизводственногоКалендаря(НомерМесяца);
            ТаблицаИтоговКалендаря = ДанныеПроизводственногоКалендаряЗаГод(Год(ГодПечати));
                
            Если ВыводитьИтогиПроизводственногоКалендаря Тогда
                ТаблицаИтогов = ТаблицаИтоговКалендаря[Индекс];
                ОбластьИтогиЗаМесяц.Параметры.Установить(2, ТаблицаИтоговКалендаря[Индекс].ДнейПоКалендарю);
                ОбластьИтогиЗаМесяц.Параметры.Установить(3, ТаблицаИтоговКалендаря[Индекс].ЧасовПоКалендарю);
                ОбластьИтогиЗаМесяц.Параметры.Установить(4, ТаблицаИтоговКалендаря[Индекс].ВыходныхПоКалендарю);
            КонецЕсли;
            
            ПечатныйДокумент.Присоединить(ОбластьДанныхДеньПоДням);
            ПечатныйДокумент.Присоединить(ОбластьИтогиЗаМесяц);
            Если УчитыватьНочныеЧасы Тогда
                ПечатныйДокумент.Вывести(ОбластьДанныхНочные);
            Иначе
                ПечатныйДокумент.Вывести(ОбластьДанныхРасширение);
            КонецЕсли;
                    
            //Выделим цветом нерабочие дни в календаре
            ТекущийМесяц = НачалоМесяца(Дата(Год(ГодПечати), НомерМесяца, 1));
            ДеньНеделиМесяца = ДеньНедели(НачалоМесяца(ТекущийМесяц));
            Для НомерДня = 1 По 31 Цикл
                Если НомерДня <= ДнейВМесяце Тогда
                    Если ДанныеПроизводственногоКалендаря.Количество() > 0 Тогда
                        ВидДня = ДанныеПроизводственногоКалендаря[НомерДня - 1].ВидДня;
                        Если ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Воскресенье 
                            Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Суббота 
                            Или ВидДня = Перечисления.ВидыДнейПроизводственногоКалендаря.Праздник Тогда
                            ОбластьВыходных = ПечатныйДокумент.НайтиТекст(Строка(НомерДня),,,,Истина);
                            ОбластьДляЗакрашивания = ПечатныйДокумент.Область(ОбластьВыходных.Верх + НомерМесяца*2 + Квартал*2- 1, ОбластьВыходных.Лево, ОбластьВыходных.Верх + НомерМесяца*2  + Квартал*2, ОбластьВыходных.Лево);
                            ОбластьДляЗакрашивания.ЦветФона = КрасныйЦвет;
                        КонецЕсли;
                    КонецЕсли;
                Иначе
                    ОбластьЛишнихДней = ПечатныйДокумент.НайтиТекст(Строка(НомерДня),,,,Истина);
                    ОбластьДляЗакрашивания = ПечатныйДокумент.Область(ОбластьЛишнихДней.Верх + НомерМесяца*2 + Квартал*2 - 1, ОбластьЛишнихДней.Лево, ОбластьЛишнихДней.Верх + НомерМесяца*2 + Квартал*2, ОбластьЛишнихДней.Лево);
                    ОбластьДляЗакрашивания.ЦветФона = СерыйЦвет;
                КонецЕсли;
            КонецЦикла;
            
            Если НомерМесяца = 3 ИЛИ НомерМесяца = 6 ИЛИ НомерМесяца = 9 ИЛИ НомерМесяца = 12 Тогда
                Квартал = НомерМесяца/3;
                ОбластьИтогиЗаКвартал.Параметры.Установить(0, "" + Квартал + " квартал");
                ОбластьИтогиЗаКвартал.Параметры.Установить(1, ДнейЗаКвартал);
                ОбластьИтогиЗаКвартал.Параметры.Установить(2, ЧасовЗаКвартал);
                Если ВыводитьИтогиПроизводственногоКалендаря Тогда
                    ОбластьИтогиЗаКвартал.Параметры.Установить(3, ТаблицаИтоговКалендаря[НомерМесяца-1].ДнейЗаКварталПоКалендарю);
                    ОбластьИтогиЗаКвартал.Параметры.Установить(4, ТаблицаИтоговКалендаря[НомерМесяца-1].ЧасовЗаКварталПоКалендарю);
                    ОбластьИтогиЗаКвартал.Параметры.Установить(5, ТаблицаИтоговКалендаря[НомерМесяца-1].ВыходныхЗаКварталПоКалендарю); 
                КонецЕсли;
                
                ПечатныйДокумент.Вывести(ОбластьИтогиЗаКвартал);
                
                Если  УчитыватьНочныеЧасы Тогда
                    ПечатныйДокумент.Присоединить(ОбластьИтогиЗаКварталНЧ);                
                Иначе
                    ПечатныйДокумент.Вывести(ОбластьРасширениеИтоги);
                КонецЕсли;
            КонецЕсли;
            
        КонецЦикла;
    
        ОбластьИтогиЗаГод.Параметры.Установить(0, ДнейЗаГод);
        ОбластьИтогиЗаГод.Параметры.Установить(1, ЧасовЗаГод);
        Если ВыводитьИтогиПроизводственногоКалендаря Тогда
            ОбластьИтогиЗаГод.Параметры.Установить(2, ТаблицаИтоговКалендаря[11].ДнейЗаГодПоКалендарю);
            ОбластьИтогиЗаГод.Параметры.Установить(3, ТаблицаИтоговКалендаря[11].ЧасовЗаГодПоКалендарю);
            ОбластьИтогиЗаГод.Параметры.Установить(4, ТаблицаИтоговКалендаря[11].ВыходныхЗаГодПоКалендарю);
        КонецЕсли;
        
        ПечатныйДокумент.Вывести(ОбластьИтогиЗаГод);
        
        Если УчитыватьНочныеЧасы Тогда
            ОбластьИтогиЗаГодНЧ.Параметры.Установить(0, НочныхЧасовЗаГод);
            ПечатныйДокумент.Вывести(ОбластьИтогиЗаГодНЧ);
        Иначе
            ПечатныйДокумент.Вывести(ОбластьРасширениеИтоги);
            ОбластьИтоговЗаГод = ПечатныйДокумент.НайтиТекст("Итого за год:");
            СераяОбласть = ПечатныйДокумент.Область(ОбластьИтоговЗаГод.Верх + 1, ОбластьИтоговЗаГод.Лево, ОбластьИтоговЗаГод.Верх + 1, ОбластьИтоговЗаГод.Лево + 37);
            СераяОбласть.ЦветФона = ЦветаСтиля.ФонГруппировкиВерхнегоУровня;
        КонецЕсли;
    
        ПечатныйДокумент.Вывести(ОбластьПодписи);
    
        УниверсальныеМеханизмы.НапечататьДокумент(ПечатныйДокумент, , , "График работы " + Наименование);
        
        
            
    
    КонецФункции
    У вас вывод "ОбластьКалендаря.Параметр ы.ОтклЧасов" закомментирован.

  4. #4
    Пришел за помощью

    Регистрация
    14.08.2019
    Сообщений
    30
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Это я сам закоментировал, проверял будит ли что либо вообще выводится
    Ничего не получилось.

    Мне нужно чтоб одно отнималось от другова и записывалось в мой параметр
    как в файл

  5. #5
    Пришел за помощью

    Регистрация
    14.08.2019
    Сообщений
    30
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Цитата Сообщение от Fltr Посмотреть сообщение
    У вас вывод "ОбластьКалендаря.Параметр ы.ОтклЧасов" закомментирован.
    Это я сам закоментировал, проверял будит ли что либо вообще выводится
    Ничего не получилось.

    Мне нужно чтоб одно отнималось от другова и записывалось в мой параметр
    как в файл

  6. #6
    Спец PRO +

    Регистрация
    18.07.2018
    Сообщений
    575
    Сказал(а) спасибо
    326
    Поблагодарили 3602 раз(а) в 617 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Цитата Сообщение от gribok Посмотреть сообщение
    Это я сам закоментировал, проверял будит ли что либо вообще выводится
    Ничего не получилось.

    Мне нужно чтоб одно отнималось от другова и записывалось в мой параметр
    как в файл
    для вывода вашей колонки воспользуйтесь методом "Присоединить" , примерно как здесь https://forum.infostart.ru/forum9/topic97671/

  7. #7
    Пришел за помощью

    Регистрация
    14.08.2019
    Сообщений
    30
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Мне не нужно присоединять
    Мне нужно Отнять часов по графику от часов по факту и записать в мой параметр

  8. #8
    Спец PRO +

    Регистрация
    18.07.2018
    Сообщений
    575
    Сказал(а) спасибо
    326
    Поблагодарили 3602 раз(а) в 617 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Цитата Сообщение от gribok Посмотреть сообщение
    Мне не нужно присоединять
    Мне нужно Отнять часов по графику от часов по факту и записать в мой параметр
    Не понимаю, в чем проблема?

    ОбластьДеньКалендарь = Макет.ПолучитьОбласть("Ден� �|Календарь");
    ОбластьКалендаря.Параметр� �.ОтклЧасов=ЧасовПоКаленда� �ю-Часов;
    ПечатныйДокумент.Присоеди� �ить(ОбластьКалендаря);

  9. #9
    Пришел за помощью

    Регистрация
    14.08.2019
    Сообщений
    30
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Цитата Сообщение от Fltr Посмотреть сообщение
    Не понимаю, в чем проблема?
    В том то и проблема что не знаю куда писать
    и какой код именно писать
    Мне нужно в мой параметр (ОтклЧасов)передать значения
    ОтклЧасов=Часов по графику - Часов по произв календарю

  10. #10
    Спец PRO +

    Регистрация
    18.07.2018
    Сообщений
    575
    Сказал(а) спасибо
    326
    Поблагодарили 3602 раз(а) в 617 сообщениях

    По умолчанию Re: ЗУП 2.0 (2.0.18.3 Доработка графика работы

    Цитата Сообщение от gribok Посмотреть сообщение
    В том то и проблема что не знаю куда писать
    и какой код именно писать
    Мне нужно в мой параметр (ОтклЧасов)передать значения
    ОтклЧасов=Часов по графику - Часов по произв календарю
    В вашем запросе есть переменные "Часов" и "ЧасовПоКалендарю", ими и воспользуйтесь.

Страница 1 из 3 123 ПоследняяПоследняя

Похожие темы

  1. Графика в Vista и в XP SP2
    от xastronomx в разделе Microsoft Windows
    Ответов: 4
    Последнее сообщение: 17.08.2008, 22:35
  2. 3d графика унифицированной архитектуры
    от radio666 в разделе Видеосистема
    Ответов: 3
    Последнее сообщение: 03.01.2007, 15:51

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •