8.х Проблемы при изменении внешней печатной формы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Vektor8, 14 дек 2009.

  1. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

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


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


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

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


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

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



    Извините за малую компетентность, я начинающий. Очень буду благодарен любой помощи или подсказке

    Вложения:

  2. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Ну в твоей структуре "ДанныеДляПечати" нет поля "ППоставщика", а есть поле "НаименованиеПлательщикаПриПеречисленииНалогов", но вообще не понятно вот это
    Код:
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    
    
    ДанныеДляПечати = Новый Структура();
    ДанныеДляПечати.Вставить("НаименованиеПлательщикаПриПеречисленииНалогов", Шапка.ПредставлениеПоставщика);
    //ДанныеДляПечати.Вставить("Наименование", Шапка.ПредставлениеПоставщика);
    
    ДанныеДляПечати.Вставить("ПредставлениеПоставщика", ДанныеДляПечати);
    Возврат Запрос.Выполнить().Выбрать();
    
    
    
    Зачем 2 раза выполняешь запрос? Зачем делаешь еще и структуру, если у тебя есть выборка, которую возвращаешь функцией...
    + у тебя
    Код:
    ДанныеДляПечати.Вставить("ПредставлениеПоставщика", ДанныеДляПечати);
    
    Структура называется представление поставщика? может ты хотел сюда передать "Шапка.ПредставлениеПоставщика"?
  3. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();


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

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

    ////вывод на печать

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

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    чего не получается, какую ошибку выдает?
  5. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    Поле объекта не обнаружено (ПредставлениеПоставщика)
  6. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Ну
    1. Обращение к процедуре:
    Код:
    СформироватьВыполнитьВыбратьЗапросВи("ПредставлениеПоставщика", ДанныеДляПечати)
    
    а определение
    Код:
    Функция СформироватьВыполнитьВыбратьЗапросВи()
    
    Какой должен быть результат не понятно.
    2. в какой строчке ругается? Здесь половина кода не видно, поэтому не понятно
  7. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    {ВнешняяОбработка.СчетФактура(1982,62)}: Слишком много фактических параметров (СформироватьВыполнитьВыбратьЗапросВи)
    " (" + СформироватьВыполнитьВыбратьЗапросВи(<<?>>"НаименованиеПлательщикаПриПеречислен

    воть она :unsure:

    Вложения:

  8. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    ну вот я на неё и показал, ты функцию определяешь без параметров:
    Код:
    Функция СформироватьВыполнитьВыбратьЗапросВи()
    
    
    а потом зачем-то в неё запихиваешь два параметра:
    Код:
    СформироватьВыполнитьВыбратьЗапросВи("ПредставлениеПоставщика", ДанныеДляПечати)
    
    
    ты от этой конструкции че хочешь:
    Код:
    + СформироватьВыполнитьВыбратьЗапросВи("ПредставлениеПоставщика", ДанныеДляПечати) + 
    
    
  9. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    хочу чтобы у меня в печатную форму в переменную "ПредставлениеПоставщика" Подставилось значение из запроса "НаименованиеПлательщикаПриПеречисленииНалогов"
  10. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Сделай так, может это то чего ты хочешь:
    Код:
    ОбластьМакета.Параметры.ПредставлениеПоставщика = СсылкаНаОбъект.Организация.НаименованиеПлательщикаПриПеречисленииНалогов; 
    
    Я вообще не понимаю, зачем такой запрос, созданных куча структур...
  11. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    ну я же сказал, я только начинаю программировать :unsure:
  12. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    теперь он у меня к строке не может преобразовать :unsure:
    Преобразование значения к типу Строка не может быть выполнено
    Функция СформироватьВыполнитьВыбратьЗапросВи()
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Организации.НаименованиеПлательщикаПриПеречисленииНалогов,
    | ВЫРАЗИТЬ(НаименованиеПлательщикаПриПеречисленииНалогов КАК СТРОКА(200)) КАК НаименованиеПлательщикаПриПеречисленииНалогов,

    |ИЗ
    | Справочник.Организации КАК Организации";


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

    Макет=ПолучитьМакет("СчетФактура451");
    ОбластьМакета=Макет.ПолучитьОбласть("Шапка");

    //ДанныеДляПечати = Новый Структура();
    //ДанныеДляПечати.Вставить("НаименованиеПлательщикаПриПеречисленииНалогов", Шапка.ПредставлениеПоставщика);
    //ДанныеДляПечати.Вставить("Наименование", Шапка.ПредставлениеПоставщика);
    ОбластьМакета.Параметры.ПредставлениеПоставщика = СсылкаНаОбъект.Организация.НаименованиеПлательщикаПриПеречисленииНалогов;
    //ДанныеДляПечати.Вставить("ПредставлениеПоставщика", ДанныеДляПечати);
    Возврат Запрос.Выполнить().Выбрать();
    КонецФункции
  13. Абырвалг
    Offline

    Абырвалг Опытный в 1С

    Регистрация:
    8 дек 2009
    Сообщения:
    112
    Симпатии:
    1
    Баллы:
    29
    Ты хоть понимаешь, зачем ты параметр "СсылкаНаОбъект" передаешь в запрос?
    Код:
    "ВЫБРАТЬ
    | Организации.НаименованиеПлательщикаПриПеречисленииНалогов,
    | ВЫРАЗИТЬ(НаименованиеПлательщикаПриПеречисленииНалогов КАК СТРОКА(200)) КАК НаименованиеПлательщикаПриПеречисленииНалогов,
    </span>
    |ИЗ
    | Справочник.Организации КАК Организации";
    
    
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); // вот здесь, зачем тебе в запросе ссылка на документ
    Шапка = Запрос.<span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/выполнить')">Выполнить().Выбрать();
    Шапка.Следующий();
    
    
    Ты надеюсь понимаешь, что ты выбираешь все организации из справочника?
    Я вообще смутно понимаю зачем ты создаешь еще один запрос и из него получаешь всего одно поле, хотя возможно, стоит добавить нужное тебе поле в уже существующий запрос, который создает переменую "ДанныеДляПечати". Или обратиться к полю Поставщик переменной "ДанныеДляПечати" и через точку получить нужное тебе поле "НаименованиеПлательщикаПриПеречисленииНалогов ". ты пишешь и абсолютно не понимаешь что пишешь, говорю начинай с простых вещей. :unsure:
  14. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26
    я могу вывести два поля по отдельным параметрам

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


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

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


    а как это сделать в одном параметре ПредставлениеПоставщика ---- мне в нём нужна инфа "ПолноеНаименование," + НаименованиеПлательщикаПриПеречисленииНалогов
  15. TopicStarter Overlay
    Vektor8
    Offline

    Vektor8 Опытный в 1С

    Регистрация:
    11 дек 2009
    Сообщения:
    90
    Симпатии:
    0
    Баллы:
    26

    а всё smile:D Ура я сделалл Это))))))))))))))))))))) Всё понял!!!!! Спасибо добрый волшебники))))))

Поделиться этой страницей