Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
hard3d
0 / 0 / 0
Регистрация: 31.01.2016
Сообщений: 15
1

Адрес при печати документа

16.01.2017, 17:03. Просмотров 516. Ответов 4
Метки нет (Все метки)

Здравствуйте. Имеется процедура печати в которой адрес собирается в одну строку

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Процедура Печать(ТабДок, Ссылка) Экспорт
    //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
    Макет = Документы.РеестрДоговоров.ПолучитьМакет("Печать");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   РеестрДоговоров.Дата,
    |   РеестрДоговоров.Номер КАК Номер,
    |   РеестрДоговоров.ФИОСотрудника,
    |   РеестрДоговоров.Данные.(
    |       НомерСтроки,    
    |       НомерДоговора.Ключ КАК Ключ,
    |       НомерДоговора КАК Договор,
    |       НомерДоговора.Клиент КАК Клиент,
    |       НомерДоговора.Телефон КАК Телефон,
    |       НомерДоговора.АдресУлица + "", д."" + НомерДоговора.АдресДом + "", кр."" + НомерДоговора.АдресКорпус + "", кв."" + НомерДоговора.АдресКвартира КАК Адрес,
    |       НомерДоговора.СистемаОхраны КАК Система
    |   )
    |ИЗ
    |   Документ.РеестрДоговоров КАК РеестрДоговоров
    |ГДЕ
    |   РеестрДоговоров.Ссылка В (&Ссылка)";
    Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
 
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьДанныеШапка = Макет.ПолучитьОбласть("ДанныеШапка");
    ОбластьДанные = Макет.ПолучитьОбласть("Данные");
    ТабДок.Очистить();
 
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
 
        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());
 
        ТабДок.Вывести(ОбластьДанныеШапка);
        ВыборкаДанные = Выборка.Данные.Выбрать();
        Пока ВыборкаДанные.Следующий() Цикл
            ОбластьДанные.Параметры.Заполнить(ВыборкаДанные);
            ТабДок.Вывести(ОбластьДанные, ВыборкаДанные.Уровень());
        КонецЦикла;
 
        ВставлятьРазделительСтраниц = Истина;
    КонецЦикла;
    //}}
КонецПроцедуры
При выведении на печать у тех у кого в адресе нет корпуса, это поле все равно выводится с символами кр.
Как сделать, что бы у кого нет корпуса, пропускался это символ?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2017, 17:03
Ответы с готовыми решениями:

Группировка в запросе при печати документа.
Приветствую профи 1С, сам новичок в 1С, хотел бы узнать, как можно получить такой результат, как...

Ошибка 0x80020005 при печати двоичного документа
Добрый день, вообщем при печати двоичного документа выскакивает такая ошибка на этой строке ...

Где находится конструктор печати документа?
Где находится конструктор печати документа?

Изменение Внешней обработки печати накладной Для документа Реализация товаров и услуг
Суть задачи такова. Есть документ - РеализацияТоваровУслуг. Есть внешняя обработка -...

Как изменить текст надписи формы документа при записи документа
Здравствуйте уважаемые, у меня простой вопрос - как мне при записи документа изменить надпись на...

4
Phil
Эксперт 1С
427 / 300 / 90
Регистрация: 28.05.2014
Сообщений: 1,208
16.01.2017, 17:25 2
1C
1
 |       НомерДоговора.АдресУлица + "", д."" + НомерДоговора.АдресДом + "", кр."" + НомерДоговора.АдресКорпус + "", кв."" + НомерДоговора.АдресКвартира КАК Адрес,
либо эту строку так не выводить
Либо при заполнении параметров проверять НомерДоговора.АдресКорпус на заполненность, и если значение не заполнено редактировать значение
1C
1
Адрес
0
hard3d
0 / 0 / 0
Регистрация: 31.01.2016
Сообщений: 15
17.01.2017, 00:33  [ТС] 3
Цитата Сообщение от Phil Посмотреть сообщение
либо эту строку так не выводить
Либо при заполнении параметров проверять НомерДоговора.АдресКорпус на заполненность, и если значение не заполнено редактировать значение
У меня в макете адрес выводится в одной ячейке и я нашел единственный способ как засунуть несколько реквизитов в одну.

А как сделать проверку заполненности?
0
Phil
Эксперт 1С
427 / 300 / 90
Регистрация: 28.05.2014
Сообщений: 1,208
17.01.2017, 09:25 4
hard3d,
1C
1
ЗначениеЗаполнено(Выборка.АдресКорпус)
Только сначало поместите это поле в запрос.
0
hard3d
0 / 0 / 0
Регистрация: 31.01.2016
Сообщений: 15
18.01.2017, 22:36  [ТС] 5
Я пока новичок в программировании. Как то можно с запросом по подробнее. Самому не получается сделать.
0
18.01.2017, 22:36
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2017, 22:36

Автоматическое заполнение табличной части документа при изменении реквизита этого документа
Здравствуйте. Делаю свою конфу на 1с 8.3.5. Добавил справочник "Сотрудники" и подчиненный ему...

Оповещение о скором истечении документа, выполнение документа, истечение документа
Плохо разбираюсь в 1С. Помогите пожалуйста реализовать, чтоб когда документ подходил к истечению...

Отсутствие пробелов при печати документа
Добрый день. Столкнулся с такой проблемой - при печати *.docx документа, в некоторых его частях,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru