Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 01:46
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Внешняя печатная форма нетиповой конфигурации  (Прочитано 1887 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн despol1ment

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-23
  • Сайт: 
  • Профессия: Ученик 1С
Используется следующего вида внешняя печатная форма /
Задача такая : как присвоить значениям из колонки Ориентация Л, В, П, Н другие значения - для "Л" и "П" значение "вертикаль" ,
для "В" и "Н" значение "горизонталь". Плюс ко всему хотелось бы отсортировать значения в табличной части по следующему принципу -
Рамы с одинаковой ориентацией и одинаковым размером + общее количество , затем створки, импосты и т.д. Хотелось бы все вышеперечисленные манипуляции произвести во внешней печатной форме не трогая конфигурацию. Подскажите , пожалуйста , в каком направлении копать.


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
вы форму свою вложите, или хотя бы запрос. структуру данных надо представить, чтобы что-то советовать, так ничего не понятно.

Оффлайн despol1ment

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-23
  • Сайт: 
  • Профессия: Ученик 1С
   Процедура ВывестиИзделиеВТабДок (ТабДок, Изделие, ВыБКомплФ )

Макет = ПолучитьМакет("ПечатьТекущегоЭлемента");

ТЗПрофиль = Новый ТаблицаЗначений;
ТЗПрофиль.Колонки.Добавить("Элемент",, "Элемент");
ТЗПрофиль.Колонки.Добавить("Артикул",, "Артикул");
ТЗПрофиль.Колонки.Добавить("Длина",, "Длина");
ТЗПрофиль.Колонки.Добавить("Угол1",, "Угол1");
ТЗПрофиль.Колонки.Добавить("Угол2",, "Угол2");
ТЗПрофиль.Колонки.Добавить("Количество",, "Количество");
ТЗПрофиль.Колонки.Добавить("Сторона",, "Сторона");
ТЗПрофиль.Колонки.Добавить("Подъем",, "Подъем");
ТЗПрофиль.Колонки.Добавить("Радиус",, "Радиус");


Если Изделие.Профили.Количество() > 0 Тогда
Для Каждого ТекСтрокаПрофили Из Изделие.Профили Цикл
НовыйПрофиль = ТЗПрофиль.Добавить();
НовыйПрофиль.Элемент = ТекСтрокаПрофили.Профиль.Наименование;
НовыйПрофиль.Артикул = Строка(ТекСтрокаПрофили.Профиль.Артикул);
НовыйПрофиль.Длина = ТекСтрокаПрофили.Длина;
Если (ТекСтрокаПрофили.Угол1 = 90) и  (ТекСтрокаПрофили.Угол2 = 90) Тогда
НовыйПрофиль.Угол1 = 90;
НовыйПрофиль.Угол2 = 90;
Иначе
НовыйПрофиль.Угол1 = ТекСтрокаПрофили.Угол1;
НовыйПрофиль.Угол2 = ТекСтрокаПрофили.Угол2;
КонецЕсли;
НовыйПрофиль.Количество = Число(ТекСтрокаПрофили.Количество);
НовыйПрофиль.Сторона = ТекСтрокаПрофили.Сторона;
НовыйПрофиль.Радиус = ТекСтрокаПрофили.РадиусДуги;
НовыйПрофиль.Подъем = ТекСтрокаПрофили.ПодъемДуги;
КонецЦикла;
КонецЕсли;

КомплектующиеВТаблицу(ТЗПрофиль, Изделие.Комплектующие, Перечисления.ГруппыОтчетности.Профили, Изделие.Цвет);

ТЗПрофиль.Сортировать("Артикул Возр");

ТЗПрофиль.Свернуть("Элемент, Артикул, Сторона, Длина, Угол1, Угол2, Подъем, Радиус", "Количество");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.НомерЗаказа = СокрЛП(СсылкаНаОбъект.Номер);
Область.Параметры.Дата = СсылкаНаОбъект.Дата;

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");
Область.Параметры.ВидИзделия = Изделие.ВидИзделия;
Область.Параметры.КолИзделия = СокрЛП(мКолИзделие);
Область.Параметры.Цвет = Изделие.Цвет;
Область.Параметры.ОбщПлощ = Формат((Изделие.H/1000)*(Изделие.W/1000),"ЧДЦ=2");
Область.Параметры.СистемаПрофиля = Изделие.СистемаПрофиля;
Область.Параметры.СистемаФурнитуры = Изделие.СистемаФурнитуры;
Область.Параметры.НомерЗаказа = СокрЛП(СсылкаНаОбъект.Номер);
Область.Параметры.Наименование = Изделие.Наименование;
Область.Параметры.Контрагент = СсылкаНаОбъект.Контрагент;
Область.Параметры.ВсяПлощ = Формат(Число(Область.Параметры.ОбщПлощ)*мКолИзделие,"ЧДЦ=2");

Попытка
Область.Рисунки.Изображение.Картинка = Изделие.ИзображениеИзделия.Получить();
Исключение
Область.Рисунки.Изображение.Картинка = Новый Картинка;
КонецПопытки;

ТабДок.Вывести(Область);

Если (ТЗПрофиль.Количество()) > 0 и (ВыбКомплФ.НайтиПоЗначению("Профиль").Пометка) Тогда // выводим профили
Область = Макет.ПолучитьОбласть("ПрофилиШапка");
ТабДок.Вывести(Область);
Для Каждого ТекСтрокаПрофили Из ТЗПрофиль Цикл
Область = Макет.ПолучитьОбласть("Профили");
Область.Параметры.Элемент = ТекСтрокаПрофили.Элемент;
Область.Параметры.Артикул = ТекСтрокаПрофили.Артикул;
Область.Параметры.Сторона = ТекСтрокаПрофили.Сторона;
Область.Параметры.Длина = ТекСтрокаПрофили.Длина;
Область.Параметры.Угол11 = ТекСтрокаПрофили.Угол1;
Область.Параметры.Угол21 = ТекСтрокаПрофили.Угол2;
Область.Параметры.Количество = ТекСтрокаПрофили.Количество * мКолИзделие;

ТабДок.Вывести(Область);

КонецЦикла;

Область = Макет.ПолучитьОбласть("ПрофилиПодвал");
ТабДок.Вывести(Область);
Область = Макет.ПолучитьОбласть("Уплотнение");
ТабДок.Вывести(Область);
Область = Макет.ПолучитьОбласть("Штапики");
ТабДок.Вывести(Область);

КонецЕсли;
КонецПроцедуры

Процедура ПечатьТекущегоИзделия(ТабДок)

ФормаПечКом = ЭтотОбъект.ПолучитьФорму("ФормаПечИзделия");
ВыБКомплФ = ФормаПечКом.ОткрытьМодально();
Если ВыБКомплФ = Неопределено Тогда
Возврат;
КонецЕсли;

Если (ВыбКомплФ.НайтиПоЗначению("ВсеИзделия").Пометка) Тогда
Для Каждого СтрокаТЧ Из СсылкаНаОбъект.ГотовыеИзделия Цикл
мКолИзделие = СтрокаТЧ.Количество;
ВывестиИзделиеВТабДок (ТабДок, СтрокаТЧ.Номенклатура.Ссылка, ВыБКомплФ);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЦикла;
Иначе
ФормаЭлемента = СсылкаНаОбъект.ПолучитьФорму("ФормаДокумента");
Изделие = ФормаЭлемента.ЭлементыФормы.ГотовыеИзделия.ТекущиеДанные.Номенклатура.Ссылка;
мКолИзделие = ФормаЭлемента.ЭлементыФормы.ГотовыеИзделия.ТекущиеДанные.Количество;
ВывестиИзделиеВТабДок (ТабДок, Изделие, ВыБКомплФ);
КонецЕсли;

КонецПроцедуры

Функция Печать() Экспорт

ТабДок = Новый ТабличныйДокумент;
ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Спецификация_ВЦех_Крупно";

    Если (СсылкаНаОбъект.ГотовыеИзделия.Количество() > 0)  Тогда
ПечатьТекущегоИзделия(ТабДок);
КонецЕсли;

Возврат ТабДок;

КонецФункции

Модуль ВПФ.

Оффлайн despol1ment

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-23
  • Сайт: 
  • Профессия: Ученик 1С
Разобрался и с заменой значений и с сортировкой. Всем спасибо.


Теги:
 

Возможно ли получение эталонного файла конфигурации *.cf из измененной стандартной, например (УТ 11.1, БП 3.0) или вопрос о том как убрать лишние доработки и привести конфигурацию базы максимально к стандартной после варварских "доработок"?

Автор kostyaomskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 9184
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
Какова взаимосвязь объектов конфигурации "Договоры" и "Документ"?

Автор DDDРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 4402
Последний ответ 25 Ноя 2008, 10:43
от DDD
Обновление конфигурации "Аренда и управление недвижимостью для "1С:Бухгалтерия 8"" с 2.0 на 3.0

Автор Эльвина МуромцеваРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 223
Последний ответ 16 Ноя 2017, 14:26
от Геннадий ОбьГЭС
"1С:Предприятие 8. Использование конфигурации "Управление торговлей" Пользовател

Автор raika4Раздел Закрытые темы

Ответов: 0
Просмотров: 3353
Последний ответ 13 Мар 2011, 14:28
от raika4
В разделе "Перейти"панели навигации ВСЕХ управляемых форм (новых, старых, вновь создаваемых) конфигурации появляется одна и та же команда. Как избавиться?

Автор CrazyHorseРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1288
Последний ответ 23 Июн 2015, 16:49
от CrazyHorse

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
178 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 190
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal