|
Почему может сбиваться положение элементов на упр.форме. | ☑ | ||
---|---|---|---|---|
0
oleg_prg
11.02.14
✎
17:25
|
Еще раз, добрый день, уважаемые форумчане. Подскажите пожалуйста почему сбиваются реквизиты на форме. Не знаю как описать - поэтому вот видео http://yadi.sk/d/jGJnXs2IHhkSg . Для просмотра видео надо скачать, т.к. яндекс плеер в низком качестве воспроизводит
Вот код отчета //******************************************************************** &НаСервере Процедура УстановитьВысоту() //Элементы.КомпоновщикНастроекПользовательскиеНастройки.Высота = 5; КонецПроцедуры //******************************************************************** &НаКлиенте Процедура ПриОткрытии(Отказ) //УстановитьВысоту(); //ОбновитьИнтерфейс(); КонецПроцедуры //******************************************************************** &НаКлиенте Процедура КомпоновщикНастроекПользовательскиеНастройкиПриИзменении(Элемент) ////Эл = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы; ////Для А = 0 По Эл.Количество()-1 Цикл //// Если Эл[А].ЛевоеЗначение = "ДатаДокумента" Тогда //// Эл[А].ВидСравнения = ВидСравненияКомпоновкиДанных. //// КонецЦикла; ////КонецЦикла; //УстановитьВысоту(); //ОбновитьИнтерфейс(); КонецПроцедуры //******************************************************************** &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Отказ = Справочники.ПраваДоступа.РеагироватьНаПраваДоступа(Отчет, ЭтаФорма); КонецПроцедуры //******************************************************************** &НаСервере Процедура ЧтениеРезультата() Если Отчет.ПартнерыОтчета.Количество() = 0 Тогда Сообщить("Нет партнеров для отправки писем!"); Возврат; КонецЕсли; ТЗ_Письма = новый ТаблицаЗначений; ТЗ_Письма.Колонки.Добавить("Тема"); ТЗ_Письма.Колонки.Добавить("Письмо"); ТЗ_Письма.Колонки.Добавить("ПолучательАдрес"); ТЗ_Письма.Колонки.Добавить("ПолучательФИО"); Для СчПартнеров = 0 По Отчет.ПартнерыОтчета.Количество()-1 Цикл //ДанныеКлиент = "Клиент:"+СокрЛП(Объект.ФИО)+" "+СокрЛП(Объект.Город)+" "+СокрЛП(Объект.Улица)+" "+СокрЛП(Объект.Дом)+","+СокрЛП(Объект.Корпус)+" "+СокрЛП(Объект.Квартира)+" п: "+СокрЛП(Объект.Подъезд)+" эт:"+СокрЛП(Объект.Этаж)+" "+?(Объект.ЧастныйДом,"Ч/дом","")+" тел: (гор)"+СокрЛП(Объект.ТелГородской)+" (моб) "+СокрЛП(Объект.ТелМобильный); //Товары = "Услуги: "; //Время = ""; //Для А = 0 По Объект.ТоварыКлиента.Количество()-1 Цикл // Товары = СокрЛП(Объект.ТоварыКлиента[А].Номенклатура)+" кол:"+СокрЛП(Объект.ТоварыКлиента[А].Количество)+" сумма от "+СокрЛП(Объект.ТоварыКлиента[А].СуммаМин)+" до "+СокрЛП(Объект.ТоварыКлиента[А].СуммаМакс); // Товары = Товары + Символы.ПС; //КонецЦикла; // //СтарДата = ""; // //Время = Время + Формат(Элементы.Исполнение.ТекущиеДанные.Дата,"ДФ=dd.MM.yy")+" время: "; // //Если Элементы.Исполнение.ТекущиеДанные.Интервал_9_11 Тогда // Время = Время + "9-11;"; //КонецЕсли; //Если Элементы.Исполнение.ТекущиеДанные.Интервал_11_13 Тогда // Время = Время + "11-13;"; //КонецЕсли; //Если Элементы.Исполнение.ТекущиеДанные.Интервал_13_15 Тогда // Время = Время + "13-15;"; //КонецЕсли; //Если Элементы.Исполнение.ТекущиеДанные.Интервал_15_17 Тогда // Время = Время + "15-17;"; //КонецЕсли; //Если Элементы.Исполнение.ТекущиеДанные.Интервал_17_19 Тогда // Время = Время + "17-19;"; //КонецЕсли; //Если Элементы.Исполнение.ТекущиеДанные.Интервал_19_21 Тогда // Время = Время + "19-21;"; //КонецЕсли; КонецЦикла; //ЗначениеОтбора = Новый Структура; //ЗначениеОтбора.Вставить("Получатель",Элементы.Исполнение.ТекущиеДанные.Партнер); //ЗначениеОтбора.Вставить("Тема", "Заказ N"+СокрЛП(Объект.Номер)); //ЗначениеОтбора.Вставить("Письмо", ДанныеКлиент+Символы.ПС+Время+" "+Символы.ПС+Товары+" Описание:"+Объект.ПодробноеОписание); //ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); //Форма = ПолучитьФорму("Обработка.ОтправитьEMail.Форма", ПараметрыВыбора); //Форма.ОткрытьМодально(); // //Элементы.Исполнение.ТекущиеДанные.Отправлен = Форма.Объект.Отправлен; КонецПроцедуры //******************************************************************** &НаКлиенте Процедура РазослатьПочтовыеСообщения(Команда) ЧтениеРезультата(); КонецПроцедуры //******************************************************************** &НаСервере Функция СКДПрограммно() Схема = Отчеты.ОтчетОператора.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = Новый КомпоновщикМакетаКомпоновкиДанных; Настройки = Отчет.КомпоновщикНастроек.Настройки; Для СчЭлементов = 0 По Настройки.Отбор.Элементы.Количество()-1 Цикл Настройки.Отбор.Элементы[СчЭлементов].ПравоеЗначение = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[СчЭлементов].ПравоеЗначение; Настройки.Отбор.Элементы[СчЭлементов].ВидСравнения = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[СчЭлементов].ВидСравнения; Настройки.Отбор.Элементы[СчЭлементов].Использование = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[СчЭлементов].Использование; Если Настройки.Отбор.Элементы[СчЭлементов].ЛевоеЗначение = "ПараметрыДанных.Дата1" Тогда Настройки.Отбор.Элементы[СчЭлементов].ПравоеЗначение = НачалоДня(НачДатаДок); КонецЕсли; Если Настройки.Отбор.Элементы[СчЭлементов].ЛевоеЗначение = "ПараметрыДанных.Дата2" Тогда Настройки.Отбор.Элементы[СчЭлементов].ПравоеЗначение = КонецДня(КонДатаДок); КонецЕсли; КонецЦикла; Настройки.ПараметрыДанных.Элементы[0].Значение = НачалоДня(НачДатаДок); Настройки.ПараметрыДанных.Элементы[0].Использование = Истина; Настройки.ПараметрыДанных.Элементы[1].Значение = КонецДня(КонДатаДок); Настройки.ПараметрыДанных.Элементы[1].Использование = Истина; Схема.Параметры.Дата1.Значение = НачалоДня(НачДатаДок); Схема.Параметры.Дата2.Значение = КонецДня(КонДатаДок); КомпоновщикМакета = новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(Схема, Настройки); ПроцессорКомпоновки = новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет); ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ТабДок = Новый ТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновки); ТЗ_Партнеры = новый ТаблицаЗначений; ТЗ_Партнеры.Колонки.Добавить("Партнер"); Для Высота=1 по ТабДок.ВысотаТаблицы цикл Для Ширина=1 по ТабДок.ШиринаТаблицы цикл Ячейка = ТабДок.Область(Высота, Ширина); Если ТипЗНЧ(Ячейка.Расшифровка) = ТипЗНЧ(Справочники.Партнеры.ПустаяСсылка()) Тогда ТЗ_Партнеры.Добавить().Партнер = Ячейка.Расшифровка; КонецЕсли; КонецЦикла; КонецЦикла; ТЗ_Партнеры.Свернуть("Партнер"); Отчет.ПартнерыОтчета.Загрузить(ТЗ_Партнеры); Возврат ТабДок; КонецФункции //******************************************************************** &НаКлиенте Процедура СформироватьОтчет(Команда) ТД = СКДПрограммно(); КонецПроцедуры //******************************************************************** Заранее спасибо. |
|||
1
oleg_prg
11.02.14
✎
17:26
|
В отчете программно вывожу отчет СКД
|
|||
2
oleg_prg
11.02.14
✎
17:46
|
вопрос снят
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |