Имя: Пароль:
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) Вы просто пропустили имя процедуры, нарушили синтаксис. При чём тут Чернобыль? При чём тут зарплата? Вы просто флудер бестолковый.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn