8.х Перенос данных из процедуры в процедуру

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

  1. TopicStarter Overlay
    mhl
    Offline

    mhl Опытный в 1С

    Регистрация:
    23 июн 2007
    Сообщения:
    418
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Столкнулся с такой проблемой. Вот ссылка на процедуру:
    ТРРасх(ТабДок, КонецДня(НД), НачалоДня(НД), СчетДт, СчетКт, СубконтоДт1, ОблТрРасх);
    А вот сама процедура:
    Код:
    Процедура ТРРасх(ТабДок, КонПериода, НачПериода, СчетДт, СчетКт, СубконтоДт1, ОблТрРасх) Экспорт
    Макет = ВнешняяОбработкаОбъект.ПолучитьМакет("Отчет");
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    ХозрасчетныйОборотыДтКт.СчетДт,
    |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОборотыДтКт.СчетДт),
    |    ХозрасчетныйОборотыДтКт.СчетКт,
    |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОборотыДтКт.СчетКт),
    |    ХозрасчетныйОборотыДтКт.СубконтоДт1,
    |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОборотыДтКт.СубконтоДт1),
    |    ХозрасчетныйОборотыДтКт.СуммаОборот,
    |    ХозрасчетныйОборотыДтКт.Период,
    |    ХозрасчетныйОборотыДтКт.Регистратор,
    |    ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОборотыДтКт.Регистратор)
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПериода, &КонПериода, Регистратор, , , , , ) КАК ХозрасчетныйОборотыДтКт
    |ГДЕ
    |    ХозрасчетныйОборотыДтКт.СчетДт = &СчетДт
    |    И ХозрасчетныйОборотыДтКт.СчетКт = &СчетКт";
    Если СокрЛП(Строка(СубконтоДт1)) <> "" ТОгда
    Запрос.Текст = Запрос.Текст+
    "
    |И ХозрасчетныйОборотыДтКт.СубконтоДт1 = &СубконтоДт1";
    КонецЕсли;    
    
    Запрос.УстановитьПараметр("КонПериода", КонПериода);
    Запрос.УстановитьПараметр("НачПериода", НачПериода);
    Запрос.УстановитьПараметр("СчетДт", СчетДт);
    Запрос.УстановитьПараметр("СчетКт", СчетКт);
    Запрос.УстановитьПараметр("СубконтоДт1", СубконтоДт1);
    
    Результат = Запрос.Выполнить();
    ВыборкаДетали = Результат.Выбрать();
    
    Пока ВыборкаДетали.Следующий() Цикл
    ОблТрРасх.Параметры.ДатаДок    = ВыборкаДетали.Регистратор.Дата;
    ОблТрРасх.Параметры.Док      =  ВыборкаДетали.Регистратор;
    ОблТрРасх.Параметры.СуммаТрРасх = ВыборкаДетали.СуммаОборот;
    ТабДок.Вывести(ОблТрРасх); 
    КонецЦикла;
    
    КонецПроцедуры
    
    Мне нужно взять параметр
    ОблТрРасх.Параметры.Док = ВыборкаДетали.Регистратор;
    чтобы вставить его в свою процедуру, которая тоже вызывается ссылкой (моя ссылка там же где и первая).
    Но проблема в том, что программа заходит в цикл только при некотором условии. Подскажите пожалуйста что можно сделать.
  2. BabySG
    Offline

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

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Не совсем понятен вопрос -
    "Мне нужно взять параметр
    ОблТрРасх.Параметры.Док = ВыборкаДетали.Регистратор;"
    может не параметр - а значение?
    А в цикл заходит при наличии записей в выборке - если там записей нет - то и не зайдёт, соответственно никаких данных всё равно не получить.

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