Имя: Пароль:
1C
1С v8
Колонтитулы в договоре
↓ (Волшебник 18.02.2025 12:42)
0 ZApassNOy
 
18.02.25
11:47
Добрый день!
Прошу помочь разобраться с кодом колонтитулов. Добавляем в договор подпись Поставщика и Покупателя.
Добавление идет по созданному макету.
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();                                            
    ПараметрыРегистрации.Назначение.Добавить("Справочник.ДоговорКонтрагентов");    
    
    Команда =  ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = "ДоговорПоставки";
    Команда.Идентификатор = "ДоговорПоставки";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    Команда.Модификатор = "ПечатьMXL";
    
    ПараметрыРегистрации.Вставить("Наименование", "ДоговорПоставки");
    
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Информация", "ДоговорПоставки");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    
    Возврат ПараметрыРегистрации;
КонецФункции

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    НужноПечататьМакет = УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПоставки");
    Если НужноПечататьМакет Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,
        "ДоговорПоставки",
        НСтр("ru = 'ДоговорПоставки'"),
        ПечатьСписокПеречислений(МассивОбъектов, ОбъектыПечати),
        ,
        "");
    КонецЕсли;
    
КонецПроцедуры
Процедура
    Макет.НижнийКолонтитул.Выводить = Истина;
    Макет.НижнийКолонтитул.ТекстСправа = "Информация снизу справа";
    Макет.НижнийКолонтитул.ТекстСлева = "Информация снизу слева";
    Макет.НижнийКолонтитул.ТекстВЦентре = "Информация снизу по центру";
    Макет.НижнийКолонтитул.НачальнаяСтраница = 1; // вывод колонтитула с первой страницы  
    НовыйШрифт = Новый Шрифт("Times New Roman",10,);
    Макет.НижнийКолонтитул.Шрифт = НовыйШрифт;
    Макет.РазмерКолонтитулаСнизу = 36; // высота колонтитула
    Макет.ВерхнийКолонтитул.Выводить = Истина; // верхний колонтитул по аналогии с нижним
КонецПроцедуры

НО при записи выдается ошибка {ВнешняяОбработка.ДоговорПоставки.МодульОбъекта(136,7)}: Ожидается символ '('
    Макет<<?>>.НижнийКолонтитул.Выводить = Истина; (Проверка: Сервер)

Помогите пожалуйста исправить!
1 Волшебник
 
18.02.25
11:48
Процедура
    Макет.НижнийКолонтитул.Выводить = Истина;


не хватает имени процедуры
2 ads55
 
18.02.25
11:50
После "10,)" Запятую уберите
3 ads55
 
18.02.25
11:51
(1) Точно, слона то и не приметил.
4 Волшебник
 
18.02.25
11:51
(3)+ и ещё хорошо бы её вызывать
5 Fedor-1971
 
18.02.25
11:51
(0) Не макет, а ТабличныйДокумент.НижнийКолонтитул
и присваивай его в самом конце формирования табличного документа
6 Fedor-1971
 
18.02.25
11:55
(2) там дальше необязательные параметры шрифта Полужирный (<Наклонный>, <Подчеркнутый>, <Зачеркнутый>, <Масштаб>) по идее, не должно влиять
7 ads55
 
18.02.25
11:56
(6) Да я уже понял, что не туда глазом зацепился и дальше не посмотрел.
8 Волшебник
 
18.02.25
12:42
А сколько программного кода написано!

Представьте студию звукозаписи. За сложнейшим пультом с кучой регулировочных ползунков сидит звукооператор и что-то у него не работает.


Он значит идёт на форум звукооператоров и жалуется: не работает моя система почему-то.
А у самого пульт в розетку не включён!
9 ZApassNOy
 
18.02.25
12:48
(1) Процедура НастроитьКолонтитулы(ДоговорПоставки)  - так корректно?
10 Волшебник
 
18.02.25
12:51
(9) см ещё (4)
11 ZApassNOy
 
18.02.25
13:37
(10) исправил так:
Процедура НастроитьКолонтитулы(ТабличныйДокумент)
    
    ОбластьНижнегоКолонтитула = ТабличныйДокумент.ПолучитьОбласть("НижнийКолонтитул");
    
// размер и параметры страницы (необходимо для вычислений страниц)
    ТабличныйДокумент.РазмерСтраницы = "A4";
    ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Книжная;
    ТабличныйДокумент.МасштабПечати = 100; // 100%
    ТабличныйДокумент.ПолеСверху = 10;
    ТабличныйДокумент.ПолеСнизу = 10;
    ТабличныйДокумент.ПолеСлева = 20;
    ТабличныйДокумент.ПолеСправа = 10;
    НомерСтраницы = 1;
    
// Первый вывод верхнего колонтитула.
    ТабличныйДокумент.Вывести(ОбластьНижнегоКолонтитула);
    
// Выводим в табличный документ.
                    
    ТабличныйДокумент.НижнийКолонтитул.Выводить = Истина;
    ТабличныйДокумент.НижнийКолонтитул.ТекстСправа = "Информация снизу справа";
    ТабличныйДокумент.НижнийКолонтитул.ТекстСлева = "Информация снизу слева";
    ТабличныйДокумент.НижнийКолонтитул.ТекстВЦентре = "Информация снизу по центру";
    ТабличныйДокумент.НижнийКолонтитул.НачальнаяСтраница = 1;
// вывод колонтитула с первой страницы  
    НовыйШрифт = Новый Шрифт("Times New Roman",10);
    ТабличныйДокумент.НижнийКолонтитул.Шрифт = НовыйШрифт;
    ТабличныйДокумент.РазмерКолонтитулаСнизу = 36;
// высота колонтитула
    ТабличныйДокумент.ВерхнийКолонтитул.Выводить = Истина;
// верхний колонтитул по аналогии с нижним
КонецПроцедуры

но тщетно...
12 ZApassNOy
 
18.02.25
13:40
конечно, понимаю, что многим данные вопросы покажутся глупыми, но очень хочется научиться самому и сделать, чтобы все работало...всем подсказывающим - признание и благодарность наие*ейшая!!!
13 Волшебник
 
18.02.25
13:43
(12) Слушайте, Вы не указали имя процедуры. Потом указали имя процедуры, но не вызвали её.
О чём с Вами вообще говорить? Пригласите программиста!
14 Fedor-1971
 
18.02.25
13:52
(11) молодец, а вызвал в процессе работы вот из этой функции ПечатьСписокПеречислений(МассивОбъектов, ОбъектыПечати)? именно она формирует твой ТабличныйДокумент
15 ZApassNOy
 
18.02.25
13:59
(13) знаете почему я занялся этим вопросом сам - потому что одни программисты даже не знают. что в макете кроме Текста и Параметра есть Шаблон, не отличают родительный падеж от именительного и пр., другие попросили подождать еще 3 месяца, а третьи - взялись, но от них уже нет ответа 3 месяца...извините, если Вы объясняете простые истины, но поверьте - очень надо...
16 Волшебник
 
18.02.25
14:02
(15) Не морочьте нам голову. Программмирование — это не Ваше. Лучше идите в курьеры, развозите пиццу
17 ZApassNOy
 
18.02.25
14:02
я, правда. начал учить мат.часть - но еще так глубоко не забрался..
18 ZApassNOy
 
18.02.25
14:05
не поверете - за спиной 18 лет работы и 15 из них гл.бухом - курьер - 100% не мое...
19 Волшебник
 
18.02.25
14:06
(18) Конечно, не поверю. Врёте всё
20 ZApassNOy
 
18.02.25
14:09
еще раз всем спасибо!
21 Волшебник
 
18.02.25
14:10
(20) Обращайтесь. Мы Вам обеспечим прекрасную мотивацию. С нами Вы станете закалённым и стрессоустойчивым программистом.
22 ZApassNOy
 
18.02.25
14:28
закалённый и стрессоустойчивый - обучен...говорю же гл.бухгалтер...забыл - я же вру...
так вот, только закалённый и стрессоустойчивый гл.бухгалтер может найти взаимосвязь между тем, как растет зарплата в коллективе у одних, а благосостояние - у других по причине их должностной лестницы, найти факты, подтверждающие переводы денег, обратиться к собственнику и после быть козлом отпущения - куда ты смотрел раньше) и продолжай работать в этом коллективе) и пофиг, что людей обвили вокруг пальца и они не получают от 40 до 80 тысяч в месяц...
я уже не говорю про общение...русский матерный - наше все)
уфф...прошлая работа не просто так была в чернобыльской зоне)

Но за мотивацию - отдельное - спасибо!
23 Волшебник
 
18.02.25
21:57
(22) Вы просто пропустили имя процедуры, нарушили синтаксис. При чём тут Чернобыль? При чём тут зарплата? Вы просто флудер бестолковый.