8.х Внешние обработки 1с 8.2 ут 10.3

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Pro_user 200, 28 июн 2014.

  1. TopicStarter Overlay
    Pro_user 200
    Offline

    Pro_user 200 Опытный в 1С

    Регистрация:
    5 янв 2013
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Всем Привет!
    При формировании отчёта ,программка почему-то выводит всю номенклатуру и при чём несколько раз подряд и не по алфавиту,а не ту которая в заказе покупателя!!! Хотя на мой взгляд Запрос2 составлен правильно!! Подскажите ,что делать ,что бы у меня выводило
    заказ покупателя и номенклатуру из этого заказа!Заранее благодарен!

    Код:
    Функция  Печать(Контрагент,ТабДок) Экспорт
        
            
    
            ТабДок.Очистить();
             ТабДок.ФиксацияСверху = 3;
             Макет = ПолучитьМакет("Макет");
            ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
            ОбластьДанные = Макет.ПолучитьОбласть("Данные");
             ОбластьДанные2 = Макет.ПолучитьОбласть("Данные2");
             ТабДок.Вывести(ОбластьШапки);
                     Запрос = новый Запрос;
            Запрос.УстановитьПараметр("Контрагент",Контрагент);
            Запрос.Текст = "ВЫБРАТЬ
            |   ЗаказПокупателя.Ссылка
            |ИЗ
            | Документ.ЗаказПокупателя КАК ЗаказПокупателя
            |ГДЕ
            |  ЗаказПокупателя.Контрагент = &Контрагент";
            Выборка = Запрос.Выполнить().Выбрать();
            Пока Выборка.Следующий() Цикл
                ОбластьДанные.Параметры.Контрагент = Контрагент;
                ОбластьДанные.Параметры.Ссылка  = Выборка.Ссылка;
              
                ТабДок.Вывести(ОбластьДанные);
             
              
               Запрос2 = новый запрос;
                  Запрос2.УстановитьПараметр("Ссылка",Выборка.Ссылка);
                     Запрос2.Текст = "
                  |ВЫБРАТЬ
                   |ЗаказПокупателяТовары.Номенклатура
                        |ИЗ
                   |Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары,
                   |Документ.ЗаказПокупателя КАК ЗаказПокупателя
                    |ГДЕ
                   |ЗаказПокупателя.Ссылка = &Ссылка";
            Выборка2 = Запрос2.Выполнить().Выбрать();
            Пока Выборка2.Следующий() Цикл
                 ОбластьДанные2.Параметры.Номенклатура = Выборка2.Номенклатура;
             
                 ТабДок.Вывести(ОбластьДанные2);
               КонецЦикла;
           КонецЦикла;
             возврат ТабДок;
    КонецФункции;
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Код:
    Функция  Печать(Контрагент,ТабДок) Экспорт
            ТабДок.Очистить();
             ТабДок.ФиксацияСверху = 3;
             Макет = ПолучитьМакет("Макет");
            ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
            ОбластьДанные = Макет.ПолучитьОбласть("Данные");
             ОбластьДанные2 = Макет.ПолучитьОбласть("Данные2");
             ТабДок.Вывести(ОбластьШапки);
                     Запрос = новый Запрос;
            Запрос.УстановитьПараметр("Контрагент",Контрагент);
            Запрос.Текст = "ВЫБРАТЬ
            |   ЗаказПокупателя.Ссылка
            |ИЗ
            | Документ.ЗаказПокупателя КАК ЗаказПокупателя
            |ГДЕ
            |  ЗаказПокупателя.Контрагент = &Контрагент";
            Выборка = Запрос.Выполнить().Выбрать();
            Пока Выборка.Следующий() Цикл
                ОбластьДанные.Параметры.Контрагент = Контрагент;
                ОбластьДанные.Параметры.Ссылка  = Выборка.Ссылка;
             
                ТабДок.Вывести(ОбластьДанные);
            
             
               Запрос2 = новый запрос;
                  Запрос2.УстановитьПараметр("Ссылка",Выборка.Ссылка);
                     Запрос2.Текст = "
                  |ВЫБРАТЬ
                   |ЗаказПокупателяТовары.Номенклатура
                        |ИЗ
                   |Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
                    |ГДЕ
                   |ЗаказПокупателяТовары.Ссылка = &Ссылка";
            Выборка2 = Запрос2.Выполнить().Выбрать();
            Пока Выборка2.Следующий() Цикл
                 ОбластьДанные2.Параметры.Номенклатура = Выборка2.Номенклатура;
            
                 ТабДок.Вывести(ОбластьДанные2);
               КонецЦикла;
           КонецЦикла;
             возврат ТабДок;
    КонецФункции;
  3. TopicStarter Overlay
    Pro_user 200
    Offline

    Pro_user 200 Опытный в 1С

    Регистрация:
    5 янв 2013
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Спасибо!!!А вот у меня ещё такой вопрос ,как сделать что бы при клике на заказ (который в этом отчёте) ,открывался документ
  4. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    У табличного поля есть события. Найдите событие "ПриАктивизации" и там пропишите необходимый код.
  5. TopicStarter Overlay
    Pro_user 200
    Offline

    Pro_user 200 Опытный в 1С

    Регистрация:
    5 янв 2013
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Нет это у меня в макете
  6. Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    В макете есть "параметр расшифровки" (на ячейке), указываете какой-либо параметр (например "ДокументСсылка") и туда при заполнении параметров области скидываете ссылку на документ
  7. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Да, не уточнил. ПриАктивизации это событие табличного поля. А Вам походу надо при активизации поля табличного документа. Тогда да, только через расшифровку.

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