Проблемы при изменении внешней печатной формы, Нужно вытащить значения из запроса и вставить в нужное место.

1. Viktor8 14.12.09 11:03 Сейчас в теме
Функция СформироватьВыполнитьВыбратьЗапросВи()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Организации.Ссылка,
| Организации.ПометкаУдаления,
| Организации.Предопределенный,
| Организации.Код,
| Организации.Наименование,
| Организации.ВидСтавокЕСНиПФР,
| Организации.ГоловнаяОрганизация,
| Организации.ДатаРегистрации,
| Организации.ИНН,
| Организации.ИностраннаяОрганизация,
| Организации.КодВСтранеРегистрации,
| Организации.КодИМНС,
| Организации.КодОКВЭД,
| Организации.КодОКОНХ,
| Организации.КодОКОПФ,
| Организации.КодОКФС,
| Организации.КодПоОКАТО,
| Организации.КодПоОКПО,
| Организации.КПП,
| Организации.НаименованиеИМНС,
| Организации.НаименованиеИнострОрганизации,
| Организации.НаименованиеОКВЭД,
| Организации.НаименованиеОКОПФ,
| Организации.НаименованиеОКФС,
| Организации.НаименованиеПлательщикаПриПеречисленииНалогов,
| Организации.НаименованиеПолное,
| Организации.ОбменЗадействован,
| Организации.ОбменКаталогОтправкиДанныхОтчетности,
| Организации.ОбменКаталогПрограммыЭлектроннойПочты,
| Организации.ОбменКодАбонента,
| Организации.ОГРН,
| Организации.ОсновнойБанковскийСчет,
| Организации.Префикс,
| Организации.РайонныйКоэффициент,
| Организации.РайонныйКоэффициентРФ,
| Организации.РегистрационныйНомерПФР,
| Организации.РегистрационныйНомерФСС,
| Организации.СвидетельствоДатаВыдачи,
| Организации.СвидетельствоКодОргана,
| Организации.СвидетельствоНаименованиеОргана,
| Организации.СвидетельствоСерияНомер,
| Организации.СтранаПостоянногоМестонахождения,
| Организации.СтранаРегистрации,
| Организации.ТерриториальныеУсловияПФР,
| Организации.ЮрФизЛицо,
| Организации.ИндивидуальныйПредприниматель,
| Организации.ОтражатьВРегламентированномУчете,
| Организации.сшСчетДтШапки,
| Организации.сшСоздаватьНовыйДоговорПриДобавленииНовогоКонтрагента,
| Организации.сшСписаниеУпрПартииПоОрганизации,
| Организации.сшЗапретРеализации,
| Организации.КодИФНСПолучателя,
| Организации.НаименованиеТерриториальногоОрганаПФР
|ИЗ
| Справочник.Организации КАК Организации";


Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Шапка = Запрос.Выполнить().Выбрать();
Шапка.Следующий();


ДанныеДляПечати = Новый Структура();
ДанныеДляПечати.Вставить("НаименованиеПлательщикаПриПеречисленииНалогов", Шапка.ПредставлениеПоставщика);
//ДанныеДляПечати.Вставить("Наименование", Шапка.ПредставлениеПоставщика);

ДанныеДляПечати.Вставить("ПредставлениеПоставщика", ДанныеДляПечати);
Возврат Запрос.Выполнить().Выбрать();
КонецФункции


/////// и в печати пмшет что Поле объекта не обнаружено (ППоставщика)

//Шапка=СформироватьВыполнитьВыбратьЗапросВи();
ОбластьМакета.Параметры.ПредставлениеПоставщика = "Продавец: " + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,") +
" (" + ДанныеДляПечати.ППоставщика + ")";



Извините за малую компетентность, я начинающий. Очень буду благодарен любой помощи или подсказке
Прикрепленные файлы:
Копия sf451.epf
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Istur 1472 14.12.09 19:56 Сейчас в теме
(1) ППоставщика предполагался как ключ структуры ДанныеДляПечати, но там такого ключа нет, а есть ПредставлениеПоставщика, так что вам нужно заменить ДанныеДляПечати.ППоставщика ДанныеДляПечати.ПредставлениеПоставщика.

(3) Такая ошибка бывает обычно при употреблении функции "сообщить", типа Сообщить(56+"ааа"), и компилятор понимает это как не сложение подстрок, а как сложение чисел.

Пользуйтесь отладчиком, поможет, будете сразу видеть на какой строке ошибка. Печатные формы тестируются с помощью http://infostart.ru/public/16952/
2. Istur 1472 14.12.09 15:41 Сейчас в теме
Странно, я добавил печатную форму и у меня никакой ошибки не вылезло...
3. Viktor8 14.12.09 19:17 Сейчас в теме
в ней их много((( Сейчас доработал, теперь вылезает что тип не тот!!1 :evil:
Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Число не может быть выполнено
///Вообще не понимаю откуда там число взялось((((
Прикрепленные файлы:
Копия sf451.epf
5. poppy 14.12.09 23:03 Сейчас в теме
Viktor8 пишет:
Преобразование значения к типу Число не может быть выполнено
///Вообще не понимаю откуда там число взялось((((


Убери один из двух плюсов в строках 1931 и 1932. Будет другая ошибка (Преобразование значения к типу Строка не может быть выполнено).
6. Istur 1472 15.12.09 14:08 Сейчас в теме
Спасибо, Poppy, благодаря тебе засек ошибку)) я фикси, организация на упрощенке, вот счет-фактур новых и нет, тестировал на старой и подпадал под условие "Если СсылкаНаОбъект.Дата < '20010609' Тогда"))

Да ошибка не в плюсах, я случайно тож иногда 2 ставил, компилялор это сечет, проблема в 3 значении.

ОбластьМакета.Параметры.ПредставлениеПоставщика = "Продавец: " + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,") + + СформироватьВыполнитьВыбратьЗапросВи();

3 - это функция, и она возвращает Возврат Запрос.Выполнить().Выбрать(); результат запроса, вот компилятор и не может привести к определенному, сначала пытался к числу, теперь к строке.

Виктор, правильно будет:

ОбластьМакета.Параметры.ПредставлениеПоставщика = "Продавец: " + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "НаименованиеПлательщикаПриПеречисленииНалогов") ;

и никакой запрос тут и не нужен, а смотря на ваш понимаешь, что вы еще очень слабо представляете, что это. раз вы новичок, то почитайте книгу радченко "практическое пособие разработчика 8.1". Вопросов у вас будет много и на каждый на форумах вам отвечать не будут.
7. poppy 15.12.09 19:41 Сейчас в теме
(6)
Стас Турчинский пишет:
Да ошибка не в плюсах, я случайно тож иногда 2 ставил, компилялор это сечет, проблема в 3 значении.

Правильнее сказать - не только в плюсах.
Компилятор это сечет только когда справа от двух плюсов будет число или строка, которую можно преобразовать к числу.

Сравни:
Сообщить("Строка " ++ " строка");
Сообщить("Строка " ++ " 25");

В первом случае ты получишь ошибку, но не во-втором.
8. Istur 1472 15.12.09 19:54 Сейчас в теме
(7) Хех, верно. А я и не знал даже(( Значит до этого я всегда попадал на этот частный случай, когда второе значение или число или преобразуется к нему))
9. Viktor8 16.12.09 16:47 Сейчас в теме
я могу вывести два поля по отдельным параметрам

ОбластьМакета.Параметры.ПредставлениеПоставщика = "Продавец: " + ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике, "ПолноеНаименование,") ;


Шапка = ЗапросМой();
Шапка.Следующий();

//ТабДокумент=Новый ТабличныйДокумент;
//Макет=ПолучитьМакет("СчетФактура451");
//ОбластьМакета=Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.ПП= "("+Шапка.НаименованиеПлательщикаПриПеречисленииНалогов+")";


а как это сделать в одном параметре ПредставлениеПоставщика ---- мне в нём нужна инфа "ПолноеНаименование," + НаименованиеПлательщикаПриПеречисленииНалогов
10. Viktor8 16.12.09 16:49 Сейчас в теме
Спасибо огромное и Стасу и Poppy! Ребят Вы меня хотяб на мысль хорошую толкнули)))
11. Viktor8 16.12.09 17:00 Сейчас в теме
а всё :D Ура я сделалл Это))))))))))))))))))))) Всё понял!!!!! Спасибо добрые волшебники))))))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот