|
Кнопка сохранения ПФ | ☑ | ||
---|---|---|---|---|
0
YDen
07.11.24
✎
15:31
|
Здравствуйте.
Подскажите пожалуйста. 8.3 версия. Самописная конфигурация. Документ. Формируется печатная форма: Процедура Печать(ТабДок, Ссылка) Экспорт //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать1) Макет = Документы.Меню.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Меню.Дата, | Меню.КалендарьДень, | Меню.Номер, | Меню.Организация, | Меню.ТабличнаяЧасть1.( | НомерСтроки, | ПриемПищи, | Раздел, | Рецепт, | НазваниеБлюда, | Выход, | Цена, | Калорийность, | Белки, | Жиры, | Углеводы | ) |ИЗ | Документ.Меню КАК Меню |ГДЕ | Меню.Ссылка В (&Ссылка)"; Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьТабличнаяЧасть1Шапка = Макет.ПолучитьОбласть("ТабличнаяЧасть1Шапка"); ОбластьТабличнаяЧасть1 = Макет.ПолучитьОбласть("ТабличнаяЧасть1"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; //ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ОбластьТабличнаяЧасть1Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОбластьТабличнаяЧасть1Шапка,Выборка.Уровень()); //ТабДок.Вывести(ОбластьТабличнаяЧасть1Шапка); ВыборкаТабличнаяЧасть1 = Выборка.ТабличнаяЧасть1.Выбрать(); Пока ВыборкаТабличнаяЧасть1.Следующий() Цикл ОбластьТабличнаяЧасть1.Параметры.Заполнить(ВыборкаТабличнаяЧасть1); ТабДок.Вывести(ОбластьТабличнаяЧасть1, ВыборкаТабличнаяЧасть1.Уровень()); КонецЦикла; ВставлятьРазделительСтраниц = Истина; КонецЦикла; Сообщить("Привет, Мир 3!"); //}} КонецПроцедуры В форме документа: &НаКлиенте Процедура МЦО(Команда) МЦОНаСервере(); Сообщить("Привет, Мир!"); ТабДок = СформироватьТабДок(); СтандартнаяОбработка = Ложь; РежимДиалога = РежимДиалогаВыбораФайла.Сохранение; ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога); ДиалогВыбораФайла.МножественныйВыбор = Ложь; ДиалогВыбораФайла.Заголовок = "Выберите папку, где необходимо сохранить файл"; ДиалогВыбораФайла.ПолноеИмяФайла = Объект.ЗаказКлиента.Номер+объект.Покупатель; ДиалогВыбораФайла.Фильтр = "Формат выгрузки(*xlsx)|*.xlsx"; Если ДиалогВыбораФайла.Выбрать() Тогда ТабДок.Записать(ДиалогВыбораФайла.ПолноеИмяФайла, ТипФайлаТабличногоДокумента.XLSX); КонецЕсли; КонецПроцедуры &НаСервере Функция СформироватьТабДок() Сообщить("Привет, Мир4!"); ТабДок = Новый ТабличныйДокумент; //{{_КОНСТРУКТОР_ПЕЧАТИ(Печать1) Макет = Документы.Меню.ПолучитьМакет("Печать"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Меню.Дата, | Меню.КалендарьДень, | Меню.Номер, | Меню.Организация, | Меню.ТабличнаяЧасть1.( | НомерСтроки, | ПриемПищи, | Раздел, | Рецепт, | НазваниеБлюда, | Выход, | Цена, | Калорийность, | Белки, | Жиры, | Углеводы | ) |ИЗ | Документ.Меню КАК Меню |ГДЕ | Меню.Ссылка В (&Ссылка)"; //Запрос.Параметры.Вставить("Ссылка", Ссылка); Выборка = Запрос.Выполнить().Выбрать(); //ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); Шапка = Макет.ПолучитьОбласть("Шапка"); ОбластьТабличнаяЧасть1Шапка = Макет.ПолучитьОбласть("ТабличнаяЧасть1Шапка"); ОбластьТабличнаяЧасть1 = Макет.ПолучитьОбласть("ТабличнаяЧасть1"); ТабДок.Очистить(); ВставлятьРазделительСтраниц = Ложь; Пока Выборка.Следующий() Цикл Если ВставлятьРазделительСтраниц Тогда ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; //ТабДок.Вывести(ОбластьЗаголовок); Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(Шапка, Выборка.Уровень()); ОбластьТабличнаяЧасть1Шапка.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОбластьТабличнаяЧасть1Шапка,Выборка.Уровень()); //ТабДок.Вывести(ОбластьТабличнаяЧасть1Шапка); ВыборкаТабличнаяЧасть1 = Выборка.ТабличнаяЧасть1.Выбрать(); Пока ВыборкаТабличнаяЧасть1.Следующий() Цикл ОбластьТабличнаяЧасть1.Параметры.Заполнить(ВыборкаТабличнаяЧасть1); ТабДок.Вывести(ОбластьТабличнаяЧасть1, ВыборкаТабличнаяЧасть1.Уровень()); КонецЦикла; ВставлятьРазделительСтраниц = Истина; КонецЦикла; КонецФункции На форме документа разместил кнопку. При ее нажатии хочу чтобы появлялось окно сохранения ПФ. Сейчас при ее нажатии указанные выше процедуры отрабатывают. Но ошибка: {Документ.Меню.Форма.ФормаДокумента.Форма(335,38)}: Переменная не определена (Ссылка)
Запрос.Параметры.Вставить("Ссылка", <<?>>Ссылка); (Проверка: Сервер) Я в верном направлении двигаюсь? Благодарю |
|||
1
Галахад
гуру
07.11.24
✎
15:28
|
Привет, Мир5!
|
|||
2
Волшебник
07.11.24
✎
15:31
|
(0) Не пользуйтесь конструкторами.
|
|||
3
Звездец
07.11.24
✎
15:33
|
20 лет на форуме и конструктор печатных форм? о май гад
|
|||
4
Garykom
гуру
07.11.24
✎
15:34
|
(3) Типа надо было СКД да?
|
|||
5
YDen
07.11.24
✎
15:35
|
(3) На клюшках сидел.
|
|||
6
Волшебник
07.11.24
✎
15:35
|
(3) Он в прошлом году v7 программировал
|
|||
7
Волшебник
07.11.24
✎
15:37
|
В Вашем программном коде процедура Печать(ТабДок, Ссылка) не вызывается.
А вторая строка, где могла бы быть эта ошибка, вообще закомментирована: //Запрос.Параметры.Вставить("Ссылка", Ссылка); |
|||
8
Волшебник
07.11.24
✎
15:38
|
Кто-то где-то врёт...
|
|||
9
YDen
07.11.24
✎
15:41
|
(8) При отладке закомметировал строки - на них ругань была.
|
|||
10
Волшебник
07.11.24
✎
15:42
|
(9) Покажите актуальный программный код и настоящий текст ошибки.
|
|||
11
Волшебник
07.11.24
✎
15:43
|
Как можно комментировать передачу важнейшего параметра в запрос?
![]() |
|||
12
Волшебник
07.11.24
✎
15:45
|
Если человек это делает, значит он тупо Ёжик в тумане и программирование не для него.
|
|||
13
YDen
07.11.24
✎
15:47
|
(12) Если мы перешли на личность, то вы давно выгнали из себя этого ежика?
|
|||
14
Stepashkin
07.11.24
✎
15:47
|
Нужно в параметр запроса передать ссылку на документ. ЭтотОбъект.Ссылка, например.
|
|||
15
Волшебник
07.11.24
✎
15:49
|
(13) Ещё вякни что-то подобное и выпилю с форума.
|
|||
16
YDen
07.11.24
✎
15:49
|
(14) Сенк.
Можете в моем коде показать что куда вставить? |
|||
17
Мультук
гуру
07.11.24
✎
15:51
|
(0)
1) Функция, даже в 7.7 что-от возвращает. А у вас - нет. ВставлятьРазделительСтраниц = Истина; КонецЦикла; Возврат ТабДок; КонецФункции 2) Вероятно 1С хочет всё же "Объект.Ссылка", а не "хрен пойми откуда возьмись" реквизит "ссылка" Запрос.Параметры.Вставить("Ссылка", Объект.Ссылка); |
|||
18
Stepashkin
07.11.24
✎
15:52
|
(16) см. (17) второе.
|
|||
19
Волшебник
07.11.24
✎
15:52
|
Я думаю, это сгенерированный программный код. Имеем дело с тупым ботом.
|
|||
20
Stepashkin
07.11.24
✎
15:53
|
(19) Как вы это определили?)
|
|||
21
Волшебник
07.11.24
✎
15:54
|
(20) Синтаксические ошибки, препятствующие компиляции и выполнению.
Боты генерят программы, а не запускают их. |
|||
22
Stepashkin
07.11.24
✎
15:55
|
(21) А, вы имеете ввиду, что YDen использовал генерацию?
|
|||
23
Волшебник
07.11.24
✎
15:56
|
(22) Я ему про имя "ТабличнаяЧасть1" говорил ещё в прошлой ветке. Ему похуй
Простая задача - вывод реквизита документа в печатную форму#43 |
|||
24
YDen
07.11.24
✎
15:56
|
(19) Мимо. Код собран с разных сайтов. На данный момент его работа меня устраивает. Вывел его (клиента) в веб. Можно сохранять форму через 4 действия, хочу разобратся как это сделать в 2.
|
|||
25
Волшебник
07.11.24
✎
15:56
|
(24) Идите нахуй
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |