|
v8: Создание внешней печатной формы | ☑ | ||
---|---|---|---|---|
0
Анастасия77721
26.03.14
✎
08:23
|
Подскажите пожалуйста!В программирование 1С совсем новичок. Создала новую печатную форму на основание документа Приходный кассовый ордер код далее
Процедура КнопкаВыполнитьНажатие(Кнопка) Перем ПодразделениеОтветственныхЛиц; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | ПриходныйКассовыйОрдер.Номер, | ПриходныйКассовыйОрдер.Дата КАК ДатаДокумента, | ПриходныйКассовыйОрдер.Организация, | ПриходныйКассовыйОрдер.Контрагент, | ПриходныйКассовыйОрдер.Контрагент.Представление КАК Контрагент, | ПриходныйКассовыйОрдер.ПринятоОт КАК ПринятоОт, | ПриходныйКассовыйОрдер.СуммаДокумента КАК Сумма, | ПриходныйКассовыйОрдер.ВалютаДокумента.Представление КАК ВалютаПредставление, |ИЗ | Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер |ГДЕ | ПриходныйКассовыйОрдер.Ссылка = &ТекущийДокумент"; РасшифровкаПлатежа = СсылкаНаОбъект.РасшифровкаПлатежа; ВидОперации = СсылкаНаОбъект.ВидОперации; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Макет = ПолучитьМакет("МойМакет"); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриходныйКассовыйОрдер_МойМакет"; ЕстьРасчетыСКонтрагентами = УправлениеДенежнымиСредствами.ЕстьРасчетыСКонтрагентами(ВидОперации); ЕстьРасчетыПоКредитам = УправлениеДенежнымиСредствами.ЕстьРасчетыПоКредитам(ВидОперации); // Выводим шапку ПКО СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); //ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,"); ОбластьМакета.Параметры.АдресКонтрагента = ШАпка.АдресКонтрагента; ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); ОтветственныеЛица = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента, ПодразделениеОтветственныхЛиц); ОбластьМакета.Параметры.ПринятоОт = Шапка.ПринятоОт; ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.Показать(); КонецПроцедуры Функция РубКоп(Сумма) Руб=Цел(Сумма); Коп=ОКР(100*(Сумма-Руб),0,1); СуммаРубКоп=""+Руб+" руб. "+Цел(Коп/10)+(Коп-10*Цел(Коп/10))+" коп."; Возврат СуммаРубКоп; КонецФункции Теперь в этот макет нужно добавить адрес Контрагента а в Документе Приходный кассовый ордер такой переменной нет она есть в Справочнике контрагенты подскажите пожалуйста как это прописать чтоб выводился адрес контрагента ? |
|||
1
shuhard
26.03.14
✎
08:26
|
(0) в разных конфах контактная информацию живет в разных местах
|
|||
2
France
26.03.14
✎
08:37
|
+1 и если будет фото, то народ смилостливится, и задаст вопрос "а конца какая"
|
|||
3
Kupogun
26.03.14
✎
08:39
|
достать адрес из табличной части справочника, либо из регистра
|
|||
4
Анастасия77721
27.03.14
✎
07:39
|
(3) Конфигурация БУХ ПРОФ 2.0.55.7.А подскажите пожалуйста как это сделать?
|
|||
5
xReason
27.03.14
✎
07:41
|
(0) Спроси у Мисти, она тепееь все знает
|
|||
6
Godofsin
27.03.14
✎
07:41
|
(2) Конца та еще ))))
|
|||
7
Godofsin
27.03.14
✎
07:43
|
УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "")
|
|||
8
el7cartel
27.03.14
✎
08:02
|
(0) нумс собственно запросик и все ок)))
|
|||
9
Анастасия77721
27.03.14
✎
08:06
|
(7) Говорит теперь не определена переменная Объект , ТипАдреса
|
|||
10
Анастасия77721
27.03.14
✎
08:08
|
(8) Подскажите как его сделать?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Организация.Ссылка, | Организация.Адрес Как Ссылка, |ИЗ | Справочник.Организация КАК Организация |ГДЕ | Организация.Адрес = &Адрес"; Результат=Запрос.Выполнить(); Выборка=Результат.Выбрать(); |
|||
11
Любопытная
27.03.14
✎
08:38
|
(10) что это?
|
|||
12
Wobland
27.03.14
✎
08:41
|
(11) это - запрос. видишь ли, запрос - хорошее средство для получения данных из БД, привыкни к ним ;)
|
|||
13
Wobland
27.03.14
✎
08:42
|
+(12) на кой ляд тут это нужно, знает только ТС. ТС без фотки, смею заметить ;)
|
|||
14
el7cartel
27.03.14
✎
08:43
|
(9) открываешь кавычки, щелкаешь правой кнопкой между кавычками "конструктор запроса" и выбираешь что тебе нужно!
|
|||
15
el7cartel
27.03.14
✎
08:43
|
(13) ах да, пользы без фото никакой)))
|
|||
16
Любопытная
27.03.14
✎
08:46
|
(12) с возвращением :)
|
|||
17
Wobland
27.03.14
✎
08:53
|
(16) возвращением с. у меня аська почему-то не работает на передачу, но это делов минут на пять..
а Анастасия77721 может в неё постучаться и быстро решить свою проблему. я всё равно тут весь скучаю |
|||
18
el7cartel
27.03.14
✎
09:08
|
(17) работай, друг, работай!
|
|||
19
Wobland
27.03.14
✎
09:15
|
(18) а работы нет. страдаю прям как Шелдон в отпуске ;)
|
|||
20
1dvd
27.03.14
✎
09:21
|
(19) не бывает такого "работы нет", это миф. Иногда бывает "срочной работы нет", но очень редко
|
|||
21
Любопытная
27.03.14
✎
09:39
|
(20) бывает.
(19) А можно я к тебе попристаю с запросами? |
|||
22
Wobland
27.03.14
✎
09:48
|
(21) всякий психически здоровый мужчина был бы рад оказать пользу такой милой девушке
|
|||
23
Люблю 1с
27.03.14
✎
09:58
|
мда... и пятничные ветки не нужны...
|
|||
24
1dvd
27.03.14
✎
10:02
|
(22) молодец! и себя похвалил, и даму :)
|
|||
25
Godofsin
27.03.14
✎
13:51
|
(9) ох... Объект ээто ссылка на справочник, Тип адреса - строковое предсталение типа адреса. Пример:
Контрагент = Справочники.НайтиПоНаименованию("ООО Анастасия77721"); ХочуФактическийАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "фактический"); |
|||
26
Godofsin
27.03.14
✎
13:52
|
Тьфу... Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("ООО Анастасия77721");
|
|||
27
Godofsin
27.03.14
✎
13:54
|
В твоем случае Шапка.Контрагент или СсылкаНаобъект.Контрагент
|
|||
28
Wobland
27.03.14
✎
14:04
|
дядька Godofsin, знал бы, что ты - красноярец, угостил бы тебя кружечкой. а так - привет Красноярску ;)
|
|||
29
Wobland
27.03.14
✎
14:06
|
+(28) второго дня уехал из этого города
|
|||
30
Анастасия77721
28.03.14
✎
13:05
|
Спасибо большое всем! Подскажите ещё пожалуйста как теперь вывести Адрес в нужную ячейку печатной формы в макете она называктся "Адрес Контрагента"
ХочуФактическийАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "фактический"); ОбластьМакета.Параметры.АдресКонтрагента = Шапка.ХочуФактическийАдрес; Пишу вот так он ругается говорит " Поле объекта не обнаружено (ХочуФактическийАдрес) ОбластьМакета.Параметры.АдресКонтрагента = Шапка.ХочуФактическийАдрес; " |
|||
31
Любопытная
28.03.14
✎
13:08
|
(30) Пиши без Шапка. просто
ОбластьМакета.Параметры.АдресКонтрагента = ХочуФактическийАдрес; |
|||
32
salvator
28.03.14
✎
13:08
|
(30) Фото добавить надо обязательно. +100 в карму сразу.
|
|||
33
Godofsin
28.03.14
✎
13:21
|
(28) Вот это ты неаккуратненько как то....
|
|||
34
Анастасия77721
28.03.14
✎
13:28
|
(31) Спасибо написала ошибки не выдаёт но и в ячейку не отображается.
|
|||
35
Любопытная
28.03.14
✎
13:29
|
(34)ну так в ХочуФактическийАдрес что вернулось? А то мож там строка пустая и все
|
|||
36
el7cartel
28.03.14
✎
13:29
|
(34) может надо вот так ТабДок.ВывестиОбласть(ТвояОбласть)
|
|||
37
Godofsin
28.03.14
✎
13:37
|
(35) +1. Адрес то наверное и не заполнен.
|
|||
38
Анастасия77721
28.03.14
✎
13:44
|
вот весь код помогите пожалуйста найти ошибку
Перем ПодразделениеОтветственныхЛиц; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | ПриходныйКассовыйОрдер.Номер, | ПриходныйКассовыйОрдер.Дата КАК ДатаДокумента, | ПриходныйКассовыйОрдер.Организация, | ПриходныйКассовыйОрдер.Контрагент, | ПриходныйКассовыйОрдер.Контрагент.Представление КАК Контрагент, | ПриходныйКассовыйОрдер.ПринятоОт КАК ПринятоОт, | ПриходныйКассовыйОрдер.СуммаДокумента КАК Сумма, | ПриходныйКассовыйОрдер.ВалютаДокумента.Представление КАК ВалютаПредставление |ИЗ | Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер |ГДЕ | ПриходныйКассовыйОрдер.Ссылка = &ТекущийДокумент"; РасшифровкаПлатежа = СсылкаНаОбъект.РасшифровкаПлатежа; ВидОперации = СсылкаНаОбъект.ВидОперации; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Макет = ПолучитьМакет("МойМакет"); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриходныйКассовыйОрдер_МойМакет"; ЕстьРасчетыСКонтрагентами = УправлениеДенежнымиСредствами.ЕстьРасчетыСКонтрагентами(ВидОперации); ЕстьРасчетыПоКредитам = УправлениеДенежнымиСредствами.ЕстьРасчетыПоКредитам(ВидОперации); // Выводим шапку ПКО СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Шапка.Контрагент"); ХочуФактическийАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический"); ОбластьМакета.Параметры.АдресКонтрагента = ХочуФактическийАдрес; ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); ОтветственныеЛица = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента, ПодразделениеОтветственныхЛиц); ОбластьМакета.Параметры.ПринятоОт = Шапка.ПринятоОт; ТабДокумент.Вывести(ОбластьМакета); ТабДокумент.Показать(); |
|||
39
Анастасия77721
28.03.14
✎
13:48
|
(13)(32) Фото добавила.
|
|||
40
Timon1405
28.03.14
✎
13:55
|
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Шапка.Контрагент");
Исправить на Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Шапка.Контрагент); |
|||
41
Godofsin
28.03.14
✎
14:00
|
(40) Искать по наименованию, используя ссылку? Класс!
|
|||
42
Godofsin
28.03.14
✎
14:00
|
эту строчку удалить
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Шапка.Контрагент"); |
|||
43
Godofsin
28.03.14
✎
14:01
|
эту поправить на эту:
ХочуФактическийАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Шапка.Контрагент, "Фактический"); |
|||
44
Анастасия77721
28.03.14
✎
14:21
|
Всё равно адрес не выводится мож дело в самом макете ?
|
|||
45
Анастасия77721
28.03.14
✎
14:24
|
(А как проверить?)
|
|||
46
Анастасия77721
28.03.14
✎
14:24
|
(35) А как проверить?
|
|||
47
Timon1405
28.03.14
✎
14:25
|
(41) Виноват, увидел кавычки неправильные, дальше думать перестал)
(44) Напишите после ХочуФактическийАдрес = ... Строчку Сообщить(ХочуФактическийАдрес); раз отладчик вам противен. если выдаст адрес, значит дело в макете |
|||
48
salvator
28.03.14
✎
14:29
|
(46) Отладчиком.
|
|||
49
Анастасия77721
28.03.14
✎
15:07
|
(47)А где должен выдать Адрес
|
|||
50
Анастасия77721
28.03.14
✎
15:10
|
(47)Не выдаёт адрес.
|
|||
51
salvator
28.03.14
✎
15:19
|
(50) Адрес указан вообще?
|
|||
52
Анастасия77721
28.03.14
✎
15:22
|
(51)ДА у Контрагента в контактных данные есть Адрес
|
|||
53
salvator
28.03.14
✎
15:24
|
(52) Именно фактический?
|
|||
54
Анастасия77721
28.03.14
✎
15:26
|
(53)Оба адреса есть.
|
|||
55
salvator
28.03.14
✎
15:37
|
Давай еще раз полностью код, который сейчас.
|
|||
56
Анастасия77721
28.03.14
✎
15:37
|
Здесь картинку макета никак не вставить?
|
|||
57
Анастасия77721
28.03.14
✎
15:38
|
Функция Печать(тип = "МойМакет") Экспорт
Перем ПодразделениеОтветственныхЛиц; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Запрос.Текст = "ВЫБРАТЬ | ПриходныйКассовыйОрдер.Номер, | ПриходныйКассовыйОрдер.Дата КАК ДатаДокумента, | ПриходныйКассовыйОрдер.Организация, | ПриходныйКассовыйОрдер.Контрагент, | ПриходныйКассовыйОрдер.Контрагент.Представление КАК Контрагент, | ПриходныйКассовыйОрдер.ПринятоОт КАК ПринятоОт, | ПриходныйКассовыйОрдер.СуммаДокумента КАК Сумма, | ПриходныйКассовыйОрдер.ВалютаДокумента.Представление КАК ВалютаПредставление |ИЗ | Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер |ГДЕ | ПриходныйКассовыйОрдер.Ссылка = &ТекущийДокумент"; РасшифровкаПлатежа = СсылкаНаОбъект.РасшифровкаПлатежа; ВидОперации = СсылкаНаОбъект.ВидОперации; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Макет = ПолучитьМакет("МойМакет"); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриходныйКассовыйОрдер_МойМакет"; ЕстьРасчетыСКонтрагентами = УправлениеДенежнымиСредствами.ЕстьРасчетыСКонтрагентами(ВидОперации); ЕстьРасчетыПоКредитам = УправлениеДенежнымиСредствами.ЕстьРасчетыПоКредитам(ВидОперации); // Выводим шапку ПКО СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ХочуФактическийАдрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Шапка.Контрагент, "Фактический"); Сообщить(ХочуФактическийАдрес); ОбластьМакета.Параметры.АдресКонтрагента = ХочуФактическийАдрес; ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); ОтветственныеЛица = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента, ПодразделениеОтветственныхЛиц); ОбластьМакета.Параметры.ПринятоОт = Шапка.ПринятоОт; ТабДокумент.Вывести(ОбластьМакета); //ТабДокумент.Показать(); Возврат ТабДокумент; КонецФункции // ПечатьПКО() |
|||
58
salvator
28.03.14
✎
15:42
|
| ПриходныйКассовыйОрдер.Контрагент.Представление КАК Контрагент,
замени на | ПриходныйКассовыйОрдер.Контрагент.Представление КАК КонтрагентПредставление, у тебя переменная Контрагент должна быть ссылочного типа, а не строкового |
|||
59
Анастасия77721
28.03.14
✎
15:50
|
(58)Всё равно не выводит. Помогите пожалуйста уже не знаю что делать!
|
|||
60
salvator
28.03.14
✎
15:58
|
Сообщить(ХочуФактическийАдрес);
что-нибудь выводит? |
|||
61
Анастасия77721
28.03.14
✎
15:59
|
не не выводит.
|
|||
62
Анастасия77721
28.03.14
✎
16:04
|
пишет ошибку {ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(2398)}: Поле объекта не обнаружено (ФактАдрес)
ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание]; |
|||
63
salvator
28.03.14
✎
16:09
|
В Шапка.Контрагент что получается? Какое значение? И какой тип?
|
|||
64
Анастасия77721
28.03.14
✎
16:24
|
А как проверить?
|
|||
65
Любопытная
28.03.14
✎
16:26
|
(64) да воткни просто в код Сообщить(Шапка.Контрагент) и посмотри, что в сообщении выдаст.
|
|||
66
Анастасия77721
28.03.14
✎
16:28
|
Выдаёт Фамилию что написана в приходнике!
|
|||
67
Анастасия77721
28.03.14
✎
16:29
|
Иванов Иван Иванович
|
|||
68
salvator
28.03.14
✎
16:30
|
Еще сделай Сообщить(ТипЗнч(Шапка.Контрагент))
|
|||
69
Анастасия77721
28.03.14
✎
16:31
|
Он мне вывел в низу Фамилию а в форме вывел адрес.
|
|||
70
Анастасия77721
28.03.14
✎
16:34
|
Иванов Иван Иванович
Контрагенты |
|||
71
Любопытная
28.03.14
✎
16:34
|
(69)т.е. адрес вывел?
|
|||
72
Анастасия77721
28.03.14
✎
16:37
|
да когда написала Сообщить(Шапка.Контрагент) и он мне адрес выводит в печать?
|
|||
73
salvator
28.03.14
✎
16:38
|
(72) У тебя в печатной форме адрес появился или нет?
|
|||
74
Любопытная
28.03.14
✎
16:41
|
(72) убирай теперь это сообщение. Все и без него работать будет
|
|||
75
salvator
28.03.14
✎
16:43
|
(74) У нее из-за этих "Сообщить" ошибка в (62) никуда не денется.. )
|
|||
76
Анастасия77721
28.03.14
✎
16:49
|
(75)Этой ошибки уже не выдаётся.
|
|||
77
salvator
28.03.14
✎
16:50
|
(76) Видимо это выдавалось до сообщения (58).
|
|||
78
Анастасия77721
28.03.14
✎
16:50
|
Всем большое большое при большое спасибо всё работает. Очень помогли.Даже незнаю как выразить Свою благодарность!
|
|||
79
salvator
28.03.14
✎
16:50
|
(78) Учись пользоваться отладчиком. Поможет в будущем не один раз.
|
|||
80
Любопытная
28.03.14
✎
16:57
|
+(79) А еще Синтаксис-помощник изучай :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |