0
- 24.12.2018 - 16:38
|
Решил сделать сам, надеюсь на вашу помощь.) Была у меня внешняя печ. форма для 7.7 сейчас делаю для БП 3.0 форма достаточно простая, удостоверение качества по сути просто табличка с данными. Получилось создать внешнюю форму,подключить ее. Не могу только понять как вывести поля, которые были в 7.7, а именно в 7.7 было так: Покупатель: [?(ПустоеЗначение(Контрагент) = 1, "", глПолноеНаименование(Контрагент) + " " + глПредставлениеАдреса(Контрагент.ЮридическийАдрес) )] и [ДатаДок+5 #Д] как в восьмерке правильно написать? т.е. мне надо: 1. вывести в шапке Контрагента с юр адресом 2. вывести текущую дату документа + 5 дней и вывести итоговую дату | |
1
- 24.12.2018 - 16:43
| делать печатную форму для документа РеализацияТоваровУслуг | |
2
- 24.12.2018 - 17:26
|
вот мой код: Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати) ТабличныйДокумент = Новый ТабличныйДокумент; МакетОбработки = ПолучитьМакет("МакетКачественное"); //заполняем шапку ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка"); ОбластьШапка.Параметры.НомерРеализации = СсылкаНаОбъект.Номер; ОбластьШапка.Параметры.ДатаРеализации = Формат (СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy; ДЛФ=DD"); ОбластьШапка.Параметры.Грузополучатель = СсылкаНаОбъект.Грузополучатель; //выводим шапку в табличный документ ТабличныйДокумент.Вывести(ОбластьШапка); //заполняем строки ОбластьСтроки = МакетОбработки.ПолучитьОбласть("Строка"); ОбластьСтроки.Параметры.ДатаРеализации = Формат (СсылкаНаОбъект.Дата,"ДФ=dd.MM.yy"); ТабличныйДокумент.Вывести(ОбластьСтроки); //заполняем подвал ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал"); ТабличныйДокумент.Вывести(ОбластьПодвал); ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции | |
3
- 24.12.2018 - 17:29
| Вы уверены что вы для БП 3.0 внешнюю форму делаете? | |
4
- 24.12.2018 - 17:41
| 3-Viking >да, для документа накладной нужно сделать печатную форму с качественный удостоверением (табличка с текстом и датами) | |
5
- 24.12.2018 - 17:47
|
Да не важно для чего, Интересно что используете "СсылкаНаОбъект"... как бы это наследие БП 2.0 и обычных форм. БП 3 на управляемых формах, там это не используется... -- А контрагента и его реквизиты проще получить штатными средствами СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛи це(СведенияОДокументе.Контрагент, СведенияОДокументе.Дата); ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации (СведенияОПокупателе, "НаименованиеДляПечатныхФорм, ЮридическийАдрес"); | |
6
- 24.12.2018 - 17:52
| Да, прибавляя к дате имейте ввиду что в 8-ке время прибавляется в секундах.. будет что-то типа СведенияОДокументе.Дата + 5 * 86400 (86400 - количество секунд в сутках) | |
7
- 24.12.2018 - 18:21
| (0) Дата, в 8-ке, содержит время. Поэтому прибавляй столько секунд, сколько их в 5-и днях, т.е. 432000. | |
8
- 24.12.2018 - 18:35
| 5-Viking >я не кодил на 8-ке, нужно формочку сделать, вот на ютюбе нашел пример создание, поэтому такой код и получился, спасибо за советы буду пробовать | |
9
- 24.12.2018 - 19:23
| (8)Тогда лучше попробуй для начала сделать ВПФ штатной печатной формы ТОРГ11, СФ или УПД. БП 3.0 так быстро меняется, что лучше не подбирать непонятно что | |
10
- 24.12.2018 - 20:50
|
5-Viking >что-то ошибки выходят в режиме предприятия, может код не там ставлю, не могли бы вы в моем коде указать куда вставить СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛи це(СведенияОДокументе.Контрагент, СведенияОДокументе.Дата); ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации (СведенияОПокупателе, "НаименованиеДляПечатныхФорм, ЮридическийАдрес"); и что вставить в таблице макета? <ПредставлениеПокупателя>? | |
11
- 24.12.2018 - 21:12
| текст ошибок какой? | |
12
- 24.12.2018 - 21:45
|
11-Viking > если вставить код сюда: Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати) ТабличныйДокумент = Новый ТабличныйДокумент; МакетОбработки = ПолучитьМакет("МакетКачественное"); //заполняем шапку ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка"); ОбластьШапка.Параметры.НомерРеализации = СсылкаНаОбъект.Номер; ОбластьШапка.Параметры.ДатаРеализации = Формат (СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy; ДЛФ=DD"); ОбластьШапка.Параметры.Контрагент = СсылкаНаОбъект.Контрагент; СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛи це(СведенияОДокументе.Контрагент, СведенияОДокументе.Дата); ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации (СведенияОПокупателе, "НаименованиеДляПечатныхФорм, ЮридическийАдрес"); //выводим шапку в табличный документ ТабличныйДокумент.Вывести(ОбластьШапка); //заполняем строки ОбластьСтроки = МакетОбработки.ПолучитьОбласть("Строка"); ОбластьСтроки.Параметры.ДатаРеализации = Формат (СсылкаНаОбъект.Дата,"ДФ=dd.MM.yy"); ТабличныйДокумент.Вывести(ОбластьСтроки); //заполняем подвал ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал"); ТабличныйДокумент.Вывести(ОбластьПодвал); ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции то при сохранении выходит ошибка такая: {ВнешняяОбработка.КачествоВнешний.МодульОбъекта(63 ,76)**: Переменная не определена (СведенияОДокументе) СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛи це(<<?>>СведенияОДокументе.Контрагент, СведенияОДокументе.Дата); (Проверка: Сервер) {ВнешняяОбработка.КачествоВнешний.МодульОбъекта(63 ,107)**: Переменная не определена (СведенияОДокументе) СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛи це(СведенияОДокументе.Контрагент, <<?>>СведенияОДокументе.Дата); (Проверка: Сервер) | |
13
- 24.12.2018 - 22:39
| пригласите программиста, проще будет | |
14
- 24.12.2018 - 23:15
|
С Датой кстати получилось, по сути остался один вопрос, как вывести Наименование контрагента и его юр адрес. если с этим не разберусь, буду искать онлайн кто поможет. Неужели в 8.3 так мудрено это вывести? как было просто в 7.7) Вроде как подсказали как выбрать контрагента : СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛи це(СведенияОДокументе.Контрагент, СведенияОДокументе.Дата); ПредставлениеПокупателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации (СведенияОПокупателе, "НаименованиеДляПечатныхФорм, ЮридическийАдрес"); но куда поставить код этот и что дополнительно нужно указать бы еще подсказали в макете понятно, надо указать ПредставлениеПокупателя с типом параметр. | |
15
- 25.12.2018 - 00:23
| судя по коду у вас изначально не верный подход... посмотрите как сделаны внешние печатные формы для управляемого приложения, их полно в интернете, и ознакомьтесь с методологией создания оных для управляемого приложения. Сейчас, кстати, намного удобнее делать дополнительные печатные формы в расширении. | |
16
- 25.12.2018 - 00:51
|
15-Viking >обязательно почитаю про данный метод, не знал о нем раньше. но просто уже стало очень интересно, почему у меня пишет переменная не определена, вас бы не затруднило объяснить, а еще лучше пример написать как правильно вывести только один реквизит Наименование контрагента и его юр адрес? | |
17
- 25.12.2018 - 01:22
| неужели не видно, что такого объекта "СведенияОДокументе" у вас нет, но есть "СсылкаНаОбъект"... попробуйте заменить. | |
18
- 25.12.2018 - 01:24
| ну и подумайте вот над чем... в 1С БП 3 можно пометить НЕСКОЛЬКО документов и сразу напечатать какую-нибудь выбранную печатную форму по каждому из них (групповая печать)... сможет ВАШ код обеспечить это? | |
19
- 25.12.2018 - 09:02
| 17-Viking> спасибо Вам большое, получилось! | |
20
- 25.12.2018 - 11:40
| Ну то что отчёт или обработка в расширении удобнее, чем впф-это спорно или дело вкуса. Разве что с отладкой попроше | |
| Интернет-форум Краснодарского края и Краснодара |