|
Макет ценника программные вертикальные отступы | ☑ | ||
---|---|---|---|---|
0
Mebius777
10.03.17
✎
13:23
|
Здравствуйте, подскажите пожалуйста как заставить во время программный вывода областей макета не делать отступы между повторениями. Создается колонка между ценниками. 1,5-2мм Как быть? Код рабочий.
Вот код самой обработки(самописная): " Функция ПолучитьЗначениеТипаШтрихкодаДляЭУ(ТипКода) Перем Значение; Если ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN8 Тогда Значение = 0; ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13 Тогда Значение = 1; ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN128 Тогда Значение = 2; ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.Code39 Тогда Значение = 3; ИначеЕсли ТипКода = ПланыВидовХарактеристик.ТипыШтрихкодов.Code128 Тогда Значение = 4; Иначе Значение = -1; КонецЕсли; Возврат Значение; КонецФункции // ПолучитьЗначениеТипаШтрихкодаДляЭУ() Процедура ОбновитьСтрокуТабл(ВыбТовар) Если Не ЗначениеЗаполнено(ЦеныНаДату) Тогда Предупреждение("Укажите дату формирования ценников"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда Предупреждение("Укажите тип цен"); Возврат; КонецЕсли; //Если ЗначениеЗаполнено(Поступление) Тогда //Иначе // Предупреждение("Укажите поступление товаров"); // Возврат; //КонецЕсли; //СписокТоваров.Очистить(); ЗапросТовар = Новый Запрос; //ЗапросШтрихкоды.УстановитьПараметр("ЭтоГруппа", Истина); ЗапросТовар.УстановитьПараметр("Дата",ЦеныНаДату); ЗапросТовар.УстановитьПараметр("ВыбТовар", ВыбТовар); ЗапросТовар.УстановитьПараметр("ТипЦены", ТипЦен); Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ //| Товар.Ссылка КАК Товар, | Товар.Код КАК Код, | Товар.Наименование КАК Наименование, | Товар.СтранаПроисхождения КАК СтранаПроисхождения, | ШК.Штрихкод КАК Штрихкод, | ШК.ТипШтрихкода КАК ТипШтрихкода, | Цены.ТипЦен КАК ТипЦен, | Цены.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Цены.Валюта КАК Валюта, | Цены.Цена КАК Цена |ИЗ | Справочник.Номенклатура КАК Товар | ЛЕВОЕ СОЕДИНЕНИЕ | (ВЫБРАТЬ | Рег.Номенклатура.Ссылка КАК Номенклатура, | Рег.ТипЦен.Ссылка КАК ТипЦен, | Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Рег.Валюта КАК Валюта, | Рег.Цена КАК Цена | ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = (&ТипЦены)) КАК Рег | ) КАК Цены ПО(Товар.Ссылка = Цены.Номенклатура) | ЛЕВОЕ СОЕДИНЕНИЕ | (ВЫБРАТЬ | Штрихкоды.Владелец КАК Номенклатура, | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода, | Штрихкоды.Штрихкод КАК Штрихкод | ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды | ) КАК ШК ПО (Товар.Ссылка = ШК.Номенклатура) | |ГДЕ | Товар.Ссылка = &ВыбТовар | //|УПОРЯДОЧИТЬ ПО //| Наименование |"; ЗапросТовар.Текст = Текст; ЗапросТ = ЗапросТовар.Выполнить(); РезультатЗапроса=ЗапросТ.Выбрать(); //аааа = 0; //Инд = СписокТоваров.Индекс(СписокТоваров.ТекущаяСтрока); // Сообщить(" Инд "+Инд); Пока РезультатЗапроса.Следующий() Цикл //Строка=СписокТоваров.Добавить(); //Строка.Товар=РезультатЗапроса.Товар; //СписокТоваров.Код=РезультатЗапроса.Код; //СписокТоваров.Наименование=РезультатЗапроса.Наименование; //СписокТоваров.СтранаПроисхождения=РезультатЗапроса.СтранаПроисхождения; //СписокТоваров.ТипШтрихкода=РезультатЗапроса.ТипШтрихкода; //СписокТоваров.Штрихкод=РезультатЗапроса.Штрихкод; //СписокТоваров.ЕдиницаИзмерения=РезультатЗапроса.ЕдиницаИзмерения; //СписокТоваров.Валюта=РезультатЗапроса.Валюта; //СписокТоваров.Цена=РезультатЗапроса.Цена; //СписокТоваров.НаПечать=ИСТИНА; //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.Код,"Код"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.Наименование,"Наименование"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.СтранаПроисхождения,"СтранаПроисхождения"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.ТипШтрихкода,"ТипШтрихкода"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.Штрихкод,"Штрихкод"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.ЕдиницаИзмерения,"ЕдиницаИзмерения"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.Валюта,"Валюта"); //СписокТоваров.ЗаполнитьЗначения(РезультатЗапроса.Цена,"Цена"); //СписокТоваров.ЗаполнитьЗначения(ИСТИНА,"НаПечать"); //аааа = аааа+1; //Сообщить(" РезультатЗапроса.Наименование - "+РезультатЗапроса.Наименование); ТекСтрока = ЭлементыФормы.СписокТоваров.ТекущаяСтрока; Для каждого Колонка Из ЭлементыФормы.СписокТоваров.Колонки Цикл ИмяКолонки = Колонка.Имя; Если ИмяКолонки = "НаПечать" Тогда ТекСтрока.НаПечать = ИСТИНА; ИначеЕсли ИмяКолонки = "Код" Тогда ТекСтрока.Код = РезультатЗапроса.Код; ИначеЕсли ИмяКолонки = "СтранаПроисхождения" Тогда ТекСтрока.СтранаПроисхождения = РезультатЗапроса.СтранаПроисхождения; ИначеЕсли ИмяКолонки = "Штрихкод" Тогда ТекСтрока.Штрихкод = РезультатЗапроса.Штрихкод; ИначеЕсли ИмяКолонки = "Наименование" Тогда ТекСтрока.Наименование = РезультатЗапроса.Наименование; ИначеЕсли ИмяКолонки = "ТипШтрихкода" Тогда ТекСтрока.ТипШтрихкода = РезультатЗапроса.ТипШтрихкода; ИначеЕсли ИмяКолонки = "ЕдиницаИзмерения" Тогда ТекСтрока.ЕдиницаИзмерения = РезультатЗапроса.ЕдиницаИзмерения; ИначеЕсли ИмяКолонки = "Цена" Тогда ТекСтрока.Цена = РезультатЗапроса.Цена; ИначеЕсли ИмяКолонки = "Валюта" Тогда ТекСтрока.Валюта = РезультатЗапроса.Валюта; КонецЕсли; КонецЦикла; КонецЦикла; //Колонка.Имя НаПечать //Колонка.Имя Товар //Колонка.Имя Код //Колонка.Имя СтранаПроисхождения //Колонка.Имя Штрихкод //Колонка.Имя Наименование //Колонка.Имя ТипШтрихкода //Колонка.Имя ЕдиницаИзмерения //Колонка.Имя Цена //Колонка.Имя Валюта //тз = ЗапросТ.Выгрузить(); //тз.ВыбратьСтроку(); КонецПроцедуры//ОбновитьСтрокуТабл Процедура ЗаполнитьТаблицу() Если НЕ ЗначениеЗаполнено(ЦеныНаДату) Тогда Предупреждение("Укажите дату формирования ценников"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда Предупреждение("Укажите тип цен"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(Поступление) Тогда Предупреждение("Укажите поступление товаров"); Возврат; КонецЕсли; СписокТоваров.Очистить(); ЗапросШтрихкоды = Новый Запрос; //ЗапросШтрихкоды.УстановитьПараметр("ЭтоГруппа", Истина); ЗапросШтрихкоды.УстановитьПараметр("Дата", ЦеныНаДату); ЗапросШтрихкоды.УстановитьПараметр("Поступление", Поступление); ЗапросШтрихкоды.УстановитьПараметр("ТипЦены", ТипЦен); Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПТУ.Номенклатура.Ссылка КАК Товар, | ПТУ.Номенклатура.Код КАК Код, | ПТУ.Номенклатура.Наименование КАК Наименование, | ПТУ.Номенклатура.СтранаПроисхождения КАК СтранаПроисхождения, | ШК.Штрихкод КАК Штрихкод, | ШК.ТипШтрихкода КАК ТипШтрихкода, | Цены.ТипЦен КАК ТипЦен, | Цены.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Цены.Валюта КАК Валюта, | Цены.Цена КАК Цена |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПТУ | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Рег.Номенклатура.Ссылка КАК Номенклатура, | Рег.ТипЦен.Ссылка КАК ТипЦен, | Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Рег.Валюта КАК Валюта, | Рег.Цена КАК Цена | ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦены) КАК Рег) КАК Цены | ПО ПТУ.Номенклатура.Ссылка = Цены.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Штрихкоды.Владелец КАК Номенклатура, | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода, | Штрихкоды.Штрихкод КАК Штрихкод | ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды) КАК ШК | ПО ПТУ.Номенклатура.Ссылка = ШК.Номенклатура |ГДЕ | ПТУ.Ссылка = &Поступление | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | УстановкаЦенНоменклатурыТовары.Номенклатура.Ссылка, | УстановкаЦенНоменклатурыТовары.Номенклатура.Код, | УстановкаЦенНоменклатурыТовары.Номенклатура.Наименование, | УстановкаЦенНоменклатурыТовары.Номенклатура.СтранаПроисхождения, | ШК.Штрихкод, | ШК.ТипШтрихкода, | Цены.ТипЦен, | Цены.ЕдиницаИзмерения, | Цены.Валюта, | Цены.Цена |ИЗ | Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Рег.Номенклатура.Ссылка КАК Номенклатура, | Рег.ТипЦен.Ссылка КАК ТипЦен, | Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Рег.Валюта КАК Валюта, | Рег.Цена КАК Цена | ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦены) КАК Рег) КАК Цены | ПО УстановкаЦенНоменклатурыТовары.Номенклатура.Ссылка = Цены.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Штрихкоды.Владелец КАК Номенклатура, | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода, | Штрихкоды.Штрихкод КАК Штрихкод | ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды) КАК ШК | ПО УстановкаЦенНоменклатурыТовары.Номенклатура.Ссылка = ШК.Номенклатура |ГДЕ | УстановкаЦенНоменклатурыТовары.Ссылка = &Поступление | |УПОРЯДОЧИТЬ ПО | Наименование"; ЗапросШтрихкоды.Текст = Текст; ЗапросШК = ЗапросШтрихкоды.Выполнить(); РезультатЗапроса=ЗапросШК.Выбрать(); Пока РезультатЗапроса.Следующий() Цикл Строка=СписокТоваров.Добавить(); Строка.Товар=РезультатЗапроса.Товар; Строка.Код=РезультатЗапроса.Код; Строка.Наименование=РезультатЗапроса.Наименование; Строка.СтранаПроисхождения=РезультатЗапроса.СтранаПроисхождения; Строка.ТипШтрихкода=РезультатЗапроса.ТипШтрихкода; Строка.Штрихкод=РезультатЗапроса.Штрихкод; Строка.ЕдиницаИзмерения=РезультатЗапроса.ЕдиницаИзмерения; Строка.Валюта=РезультатЗапроса.Валюта; Строка.Цена=РезультатЗапроса.Цена; Строка.НаПечать=ИСТИНА; КонецЦикла; КонецПроцедуры//ЗаполнитьТаблицу Процедура ЗаполнитьТаблицуПоГруппе(ГруппаДляПодбора, ФормаВызова) Экспорт Если НЕ ЗначениеЗаполнено(ЦеныНаДату) Тогда Предупреждение("Укажите дату формирования ценников"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда Предупреждение("Укажите тип цен"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(Поступление) Тогда Предупреждение("Укажите поступление товаров"); Возврат; КонецЕсли; ЗапросШтрихкоды = Новый Запрос; //ЗапросШтрихкоды.УстановитьПараметр("ЭтоГруппа", Истина); ЗапросШтрихкоды.УстановитьПараметр("Дата", ЦеныНаДату); ЗапросШтрихкоды.УстановитьПараметр("Группа", ГруппаДляПодбора); ЗапросШтрихкоды.УстановитьПараметр("ТипЦен", ТипЦен); //Текст = "ВЫБРАТЬ // | ШК.Штрихкод КАК Штрихкод, // | ШК.ТипШтрихкода КАК ТипШтрихкода, // | Цены.ТипЦен КАК ТипЦен, // | Цены.ЕдиницаИзмерения КАК ЕдиницаИзмерения, // | Цены.Валюта КАК Валюта, // | Цены.Цена КАК Цена, // | Цены.Номенклатура КАК Товар, // | Цены.Номенклатура.Код КАК Код, // | Цены.Номенклатура.СтранаПроисхождения КАК СтранаПроисхождения, // | Цены.Номенклатура.НаименованиеПолное КАК Наименование, // | ТоварыНаСкладахОстатки.КоличествоОстаток // |ИЗ // | (ВЫБРАТЬ // | Рег.Номенклатура.Ссылка КАК Номенклатура, // | Рег.ТипЦен.Ссылка КАК ТипЦен, // | Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения, // | Рег.Валюта КАК Валюта, // | Рег.Цена КАК Цена // | ИЗ // | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦены) КАК Рег) КАК Цены // | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ // | Штрихкоды.Владелец КАК Номенклатура, // | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода, // | Штрихкоды.Штрихкод КАК Штрихкод // | ИЗ // | РегистрСведений.Штрихкоды КАК Штрихкоды) КАК ШК // | ПО Цены.Номенклатура = ШК.Номенклатура // | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки // | ПО Цены.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура // |ГДЕ // | Цены.Номенклатура В ИЕРАРХИИ(&Номенклатура)"; Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ПОМЕСТИТЬ НомИзГрп |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&Группа) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Штрихкоды.Штрихкод, | ЦеныНоменклатурыСрезПоследних.Цена, | НомИзГрп.Ссылка КАК Товар, | Штрихкоды.ТипШтрихкода, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, | ЦеныНоменклатурыСрезПоследних.Валюта, | НомИзГрп.Ссылка.Код КАК Код, | НомИзГрп.Ссылка.СтранаПроисхождения КАК СтранаПроисхождения, | НомИзГрп.Ссылка.НаименованиеПолное КАК Наименование |ИЗ | НомИзГрп КАК НомИзГрп | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды | ПО НомИзГрп.Ссылка = Штрихкоды.Владелец | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ) КАК ЦеныНоменклатурыСрезПоследних | ПО НомИзГрп.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен"; ЗапросШтрихкоды.Текст = Текст; ЗапросШК = ЗапросШтрихкоды.Выполнить(); РезультатЗапроса=ЗапросШК.Выбрать(); ФормаВызова.ЭлементыФормы.Индикатор1.МаксимальноеЗначение = ЗапросШК.Выгрузить().Количество(); ФормаВызова.ЭлементыФормы.Индикатор1.Видимость = истина; ФормаВызова.ЭлементыФормы.Индикатор1.Значение = 0; Пока РезультатЗапроса.Следующий() Цикл СтруктураОтбора = новый структура; СтруктураОтбора.Вставить("Товар", РезультатЗапроса.Товар); //СтруктураОтбора.Вставить("Код", РезультатЗапроса.Код); //СтруктураОтбора.Вставить("Наименование", РезультатЗапроса.Наименование); //СтруктураОтбора.Вставить("СтранаПроисхождения", РезультатЗапроса.СтранаПроисхождения); //СтруктураОтбора.Вставить("ТипШтрихкода", РезультатЗапроса.ТипШтрихкода); СтруктураОтбора.Вставить("Штрихкод", ?(РезультатЗапроса.Штрихкод = null, "", РезультатЗапроса.Штрихкод)); //СтруктураОтбора.Вставить("ЕдиницаИзмерения", РезультатЗапроса.ЕдиницаИзмерения); //СтруктураОтбора.Вставить("Валюта", РезультатЗапроса.Валюта); //СтруктураОтбора.Вставить("Цена", РезультатЗапроса.Цена); НайденныеСтроки = СписокТоваров.НайтиСтроки(СтруктураОтбора); Если НайденныеСтроки.Количество() = 0 тогда Строка=СписокТоваров.Добавить(); Строка.Товар=РезультатЗапроса.Товар; Строка.Код=РезультатЗапроса.Код; Строка.Наименование=РезультатЗапроса.Наименование; Строка.СтранаПроисхождения=РезультатЗапроса.СтранаПроисхождения; Строка.ТипШтрихкода=РезультатЗапроса.ТипШтрихкода; Строка.Штрихкод=РезультатЗапроса.Штрихкод; Строка.ЕдиницаИзмерения=РезультатЗапроса.ЕдиницаИзмерения; Строка.Валюта=РезультатЗапроса.Валюта; Строка.Цена=РезультатЗапроса.Цена; Строка.НаПечать=ИСТИНА; КонецЕсли; ФормаВызова.ЭлементыФормы.Индикатор1.Значение = ФормаВызова.ЭлементыФормы.Индикатор1.Значение + 1; КонецЦикла; ФормаВызова.ЭлементыФормы.Индикатор1.Видимость = ложь; КонецПроцедуры//ЗаполнитьТаблицу Процедура ЗаполнитьТаблицуПоЭлементу(НомДляПодбора, ФормаВызова) Экспорт Если НЕ ЗначениеЗаполнено(ЦеныНаДату) Тогда Предупреждение("Укажите дату формирования ценников"); Возврат; КонецЕсли; Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000004"); //Предупреждение("Укажите тип цен"); //Возврат; КонецЕсли; //Если НЕ ЗначениеЗаполнено(Поступление) Тогда // Предупреждение("Укажите поступление товаров"); // Возврат; //КонецЕсли; ЗапросШтрихкоды = Новый Запрос; //ЗапросШтрихкоды.УстановитьПараметр("ЭтоГруппа", Истина); ЗапросШтрихкоды.УстановитьПараметр("Дата", ЦеныНаДату); ЗапросШтрихкоды.УстановитьПараметр("Группа", НомДляПодбора); ЗапросШтрихкоды.УстановитьПараметр("ТипЦен", ТипЦен); //Текст = "ВЫБРАТЬ // | ШК.Штрихкод КАК Штрихкод, // | ШК.ТипШтрихкода КАК ТипШтрихкода, // | Цены.ТипЦен КАК ТипЦен, // | Цены.ЕдиницаИзмерения КАК ЕдиницаИзмерения, // | Цены.Валюта КАК Валюта, // | Цены.Цена КАК Цена, // | Цены.Номенклатура КАК Товар, // | Цены.Номенклатура.Код КАК Код, // | Цены.Номенклатура.СтранаПроисхождения КАК СтранаПроисхождения, // | Цены.Номенклатура.НаименованиеПолное КАК Наименование, // | ТоварыНаСкладахОстатки.КоличествоОстаток // |ИЗ // | (ВЫБРАТЬ // | Рег.Номенклатура.Ссылка КАК Номенклатура, // | Рег.ТипЦен.Ссылка КАК ТипЦен, // | Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения, // | Рег.Валюта КАК Валюта, // | Рег.Цена КАК Цена // | ИЗ // | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦены) КАК Рег) КАК Цены // | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ // | Штрихкоды.Владелец КАК Номенклатура, // | Штрихкоды.ТипШтрихкода КАК ТипШтрихкода, // | Штрихкоды.Штрихкод КАК Штрихкод // | ИЗ // | РегистрСведений.Штрихкоды КАК Штрихкоды) КАК ШК // | ПО Цены.Номенклатура = ШК.Номенклатура // | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки // | ПО Цены.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура // |ГДЕ // | Цены.Номенклатура В ИЕРАРХИИ(&Номенклатура)"; Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ПОМЕСТИТЬ НомИзГрп |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка = &Группа |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Штрихкоды.Штрихкод, | ЦеныНоменклатурыСрезПоследних.Цена, | НомИзГрп.Ссылка КАК Товар, | Штрихкоды.ТипШтрихкода, | ЦеныНоменклатурыСрезПоследних.ТипЦен, | ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, | ЦеныНоменклатурыСрезПоследних.Валюта, | НомИзГрп.Ссылка.Код КАК Код, | НомИзГрп.Ссылка.СтранаПроисхождения КАК СтранаПроисхождения, | НомИзГрп.Ссылка. |
|||
1
Mebius777
10.03.17
✎
13:25
|
Оступов в коде нет, код не мой. Горизонтальные победил.
|
|||
2
Mebius777
10.03.17
✎
13:31
|
Продолжение кода:"
Найденные = СписокТоваров.НайтиСтроки(Отбор).Количество(); Для каждого Строка из СписокТоваров Цикл Если НЕ Строка.НаПечать Тогда Продолжить; ИначеЕсли НЕ ЗначениеЗаполнено(Строка.Товар) Тогда //ИначеЕсли НЕ Строка.Товар = Неопределено Тогда Продолжить; КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Строка|Столбец"); ОбластьМакета.Параметры.Код_5 = Прав(Строка.Код,5); ОбластьМакета.Параметры.ОрганизацияНаименование = "ООО ""РЕСУРС-МЕДИА"""; ОбластьМакета.Параметры.ДатаПечати = ЦеныНаДату; Если КолВРяду = 8 Тогда ОбластьМакета.Область("Имя").Шрифт=Новый Шрифт(ОбластьМакета.Область("Имя").Шрифт, , 16); ИначеЕсли КолВРяду = 16 Тогда ОбластьМакета.Область("Имя").Шрифт=Новый Шрифт(ОбластьМакета.Область("Имя").Шрифт, , 10); КонецЕсли; ОбластьМакета.Параметры.Заполнить(Строка); ТипКода = ПолучитьЗначениеТипаШтрихкодаДляЭУ(Строка.ТипШтрихкода); Если ТипКода = -1 Тогда ОбластьМакета.Рисунки.Штрихкод.ВыводитьНаПечать = Ложь; Иначе ОбластьМакета.Рисунки.Штрихкод.Объект.ТипКода = ТипКода; ОбластьМакета.Рисунки.Штрихкод.Объект.Сообщение = СокрЛП(Строка.Штрихкод); КонецЕсли; СчетчикКолонок = СчетчикКолонок+1; Если СчетчикКолонок = 1 Тогда ТабДокумент.Вывести(ОбластьМакета); Иначе ТабДокумент.Присоединить(ОбластьМакета); КонецЕсли; Если СчетчикКолонок = КолВРяду или (КолВРяду = 16 и СчетчикКолонок = 4) или (КолВРяду = 32 и СчетчикКолонок = 8) или (КолВРяду = 64 и СчетчикКолонок = 8)Тогда СчетчикКолонок = 0; СчетчикРядов = СчетчикРядов+1; Если (КолВРяду = 2) и (СчетчикРядов >=1) Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; ИначеЕсли (КолВРяду = 1) Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; ИначеЕсли (КолВРяду = 4) и (СчетчикРядов >=2) Тогда //ТабДокумент.АвтоМасштаб = Истина; ТабДокумент.ВывестиВертикальныйРазделительСтраниц(); //ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; ИначеЕсли (КолВРяду = 16) и (СчетчикРядов >=4) Тогда ТабДокумент.ВывестиВертикальныйРазделительСтраниц(); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; ИначеЕсли (КолВРяду = 32) и (СчетчикРядов >=8) Тогда ТабДокумент.ВывестиВертикальныйРазделительСтраниц(); ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; ИначеЕсли (КолВРяду = 64) и (СчетчикРядов >=8) Тогда // ТабДокумент.ВывестиВертикальныйРазделительСтраниц(); // ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; ИначеЕсли (КолВРяду = 8) и (СчетчикРядов >=4) Тогда ТабДокумент.ВывестиВертикальныйРазделительСтраниц(); ТабДокумент.АвтоМасштаб = Ложь; //ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); СчетчикРядов = 0; КонецЕсли; КонецЕсли; КонецЦикла; Если КолВРяду = 2 Тогда ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДокумент.АвтоМасштаб=Истина; ИначеЕсли КолВРяду = 1 Тогда ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ИначеЕсли КолВРяду = 4 Тогда ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ИначеЕсли КолВРяду = 8 Тогда ТабДокумент.АвтоМасштаб=ложь; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ИначеЕсли КолВРяду = 16 Тогда //ТабДокумент.АвтоМасштаб=Истина; Если Найденные < 4 тогда ТабДокумент.АвтоМасштаб=Ложь; ТабДокумент.МасштабПечати=100; Иначе ТабДокумент.АвтоМасштаб=Истина; КонецЕсли; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ИначеЕсли КолВРяду = 32 Тогда Если СчетчикКолонок < 8 тогда ТабДокумент.АвтоМасштаб=Ложь; ТабДокумент.МасштабПечати=75; Иначе ТабДокумент.АвтоМасштаб=Истина; КонецЕсли; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ИначеЕсли КолВРяду = 64 Тогда Если СчетчикКолонок < 8 тогда ТабДокумент.АвтоМасштаб=Ложь; ТабДокумент.МасштабПечати=75; Иначе ТабДокумент.АвтоМасштаб=Истина; КонецЕсли; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; КонецЕсли; ТабДокумент.Показать(); КонецПроцедуры Процедура КоманднаяПанельСписокДокументовУстановитьПометки(Кнопка) Для каждого Строка из СписокТоваров Цикл Если НЕ Строка.НаПечать Тогда Строка.НаПечать = Истина; КонецЕсли; КонецЦикла; КонецПроцедуры Процедура КоманднаяПанельСписокДокументыСнятьПометки(Кнопка) Для каждого Строка из СписокТоваров Цикл Если Строка.НаПечать Тогда Строка.НаПечать = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) ЦеныНаДату = ТекущаяДата(); СписокВыбора = Новый СписокЗначений; СписокВыбора.Добавить(1).Представление = "Ценники А4 - 1шт. на листе"; СписокВыбора.Добавить(2).Представление = "Ценники А4 - 2шт. на листе"; СписокВыбора.Добавить(4).Представление = "Ценники А4 - 4шт. на листе"; СписокВыбора.Добавить(8).Представление = "Ценники А4 - 8 шт. на листе"; СписокВыбора.Добавить(16).Представление = "Ценники А4 - 16 шт. на листе"; СписокВыбора.Добавить(32).Представление = "Ценники А9 - 32 шт. на листе"; СписокВыбора.Добавить(64).Представление = "Ценники А10. -64 шт. на листе"; ЭлементыФормы.ПолеВариантаПечати.СписокВыбора = СписокВыбора; ЭлементыФормы.ПолеВариантаПечати.Значение = 64; КонецПроцедуры Процедура КоманднаяПанельСписокДокументовОчистить(Кнопка) Если СписокТоваров.Количество() > 0 Тогда ТекстВопроса = "Удалить все сторки табличной части?"; Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да, ); Если Ответ = КодВозвратаДиалога.Да Тогда СписокТоваров.Очистить(); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура СписокТоваровТоварОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Если ЗначениеЗаполнено(ВыбранноеЗначение) Тогда //Если НЕ ВыбранноеЗначение = Неопределено Тогда ОбновитьСтрокуТабл(ВыбранноеЗначение); КонецЕсли; КонецПроцедуры Процедура КоманднаяПанельСписокДокументовПодбор(Кнопка) // Вставить содержимое обработчика. //ЗаполнитьТаблицуПоГруппе(); КонецПроцедуры Процедура КоманднаяПанельСписокДокументовПодобрать(Кнопка) ФормаПодбора = ПолучитьФорму("Форма"); ФормаПодбора.ВызываемаяФорма = ЭтаФорма; ФормаПодбора.Открыть(); КонецПроцедуры Процедура КоманднаяПанельСписокДокументовВыбратьПодбором(Кнопка) Результат = Справочники.Номенклатура.ПолучитьФормуВыбора().ОткрытьМодально(); ЗаполнитьТаблицуПоЭлементу(Результат, ЭтаФорма); КонецПроцедуры " |
|||
3
HardBall
10.03.17
✎
13:35
|
Может в макете колонка лишняя печатается. Включи режим просмотра страниц.
|
|||
4
Mebius777
10.03.17
✎
14:40
|
Да печатается, но непонятно откуда. Если не печатать колонки ТабДокумент.Присоединить(ОбластьМакета); то все просто идет сплошняком по одной колонке и все.
|
|||
5
Mebius777
10.03.17
✎
14:41
|
Комментировал
// ТабДокумент.ВывестиВертикальныйРазделительСтраниц(); //ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); Бесполезно |
|||
6
HardBall
10.03.17
✎
14:53
|
(4) Дык, ты макет смотрел?
|
|||
7
Mebius777
10.03.17
✎
14:54
|
Конечно, в макете все хорошо. Выводит так.
|
|||
8
Mebius777
10.03.17
✎
14:54
|
Добавляет колонку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |