8.х Как в 1С 8.1 в печатной форме обратится к регистру сведений?

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

  1. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, создал элементарную конфигурацию, сейчас нужно обратится из печатной формы к регистру сведений и считать данные. Пожскажите как это сделать. Спасибо.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Из печатной формы обратиться нельзя.
    Необходимо предварительно создать запрос с регистру и потом заполнить параметры областей макета в печатной форме.

    Примеры есть в этой теме
  3. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Извените, может не точно задал вопрос. Запросы я смог создать к реквизитам которые непосредственно находятся в Документе, но как обратится к реквизиту регистра сведений (в даном случае работаю с УПП, нужно дописать маленькую обработку)
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Вместо документа выберите регистр который вам нужен. И все...
  5. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Модуль у меня сформировался автоматически, я уже немноэко забыл как обращатся к переменной. Например в печ.форме я создал параметр <Адрес>, теперь как в модуле написать что б где адрес обращение шло к регистру?
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Ну на сколько я знаю, то нельзя...Все таки BabySG правильно вас понял. Если вам именно из печатной формы надо, то сделайте просто отчет, чтобы он обращался к регистру нужному, а результат распечатайте...
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Либо запрос, как сказали люди. Потом выборку из него и потом уже из этой выборки заполняем ваш параметр.
    Или делаем через набор записей регистра сведений и уже у него отбор и дальше так же....
  8. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Вы можете, как для начинающего пользователя, написать код обращения к регистру. Краткий на примере, потому что, мой код был сформирован конструктором.
  9. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    В даном случая в УПП я пишу маленькую доработку, и в печатной форме мне нужно вывести контактную информацию, Есть регистр сведений КонтактнаяИнформация, и внем ресурс Представление, так в общем мне нужно вытянуть в печатную форму вот это представление. Напишите как это сделать, очень прошу.
  10. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Это один вариант.
    Код:
    	Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |	КонтактнаяИнформация.Объект,
    |	КонтактнаяИнформация.Тип,
    |	КонтактнаяИнформация.Вид,
    |	КонтактнаяИнформация.Представление
    |ИЗ
    |	РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    |ГДЕ
    |	КонтактнаяИнформация.Объект = &Объект
    |	И КонтактнаяИнформация.Тип = &Тип
    |	И КонтактнаяИнформация.Вид = &Вид";
    
    Запрос.УстановитьПараметр("Объект",<Чей адрес вы хотите>);
    Запрос.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Адрес);	// если отбор не нужен, то уберите условие
    Запрос.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.АдресДоставкиКонтрагента);	// если отбор не нужен, то уберите условие
    
    ВыборкаКонтактов = Запрос.Выполнить().Выбрать();
    Пока ВыборкаКонтактов.Следующий() Цикл
    
    Сообщить(ВыборкаКонтактов.Объект + " " + ВыборкаКонтактов.Представление);
    
    КонецЦикла; 
    
    Или поищите готовые процедуры получения контактной инфы. В УПП их куча в модуле управления контактной информацией.
  11. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    а как после запроса присвоить параметру Адрес в печатной форме полученные данные?
  12. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Код:
    ОбластьМакета.Параметры.Адрес = <Выбранный адрес>;
    
  13. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Простите но я что-то понять вот эту строчку не могу...Под <Выбранный адрес> вы что имеете в виду?
  14. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    {Документ.СервисныйЦентр.Форма.ФормаДокумента(82)}: Перетворення значення к типу Число не може бути виконано
    Сообщить(ВыборкаКонтактов.Объект + "" + ВыборкаКонтактов.Представление);
    Что с этим делать?


    Я понял так: Адрес - реквизит документа, а <Выбранный адрес> параметр в печатной форме.
  15. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Наоборот в вашем случае и с таким запросом.

    Код:
    ОбластьМакета.Параметры.Адрес = ВыборкаКонтактов.Представление;
    
    {
    Лучше напишите так

    Код:
    Сообщить(""+ВыборкаКонтактов.Объект + "" + ВыборкаКонтактов.Представление);
    
    и второе что в запросе вы пердаете в качестве параметра Объект

    Что увас вместо ,<Чей адрес вы хотите>);
  16. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Реквизит Документа - Заказчик;
    Запрос.УстановитьПараметр("Объект",Заказчик);
  17. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Все получилось, адрес есть, еще бы телефончик изъять и было бы супер!!!
  18. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вот в запросе

    Код:
    Запрос.УстановитьПараметр(\"Тип\",Перечисления.ТипыКонтактнойИнформации.Адрес);    // если отбор не нужен, то уберите условие   
    Запрос.УстановитьПараметр(\"Вид\",Справочники.ВидыКонтактнойИнформации.АдресДоставкиКонтрагента);   
    
    выбирети Другой ти - Телеофон и другой вид Телефон Физ лица или контрагента

    X_under, я закончил начатое, по этому и тебе спасибос.
  19. TopicStarter Overlay
    meverikxp
    Offline

    meverikxp Опытный в 1С

    Регистрация:
    9 мар 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    с этим разобрался, но в служебных сообщениях вылазит такое:
    Фамилия ИмяГород
    Фамилия ИмяТелефон
    Фамилия ИмяГород
    Фамилия ИмяТелефон
    Почему, как сделать так что б его небыло?
  20. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Выложите код, там где запрос и выбока. так быстрее скажу

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