1cv77 ТиС вызов отчета с параметром.

Тема в разделе "1C и всё что с ней связано", создана пользователем Encore, 7 июл 2011.

Статус темы:
Закрыта.
  1. Encore

    Encore Гость

    Здравствуйте..я только встал на путь изучения 1с и сразу возникла проблема.
    Мне нужно сделать вызов отчета "карточка кол сум учета" из документа "заказ поставщику" (1с77 ТИС)
    причем нужно в него сразу передать выделенную позицию номенклатуры, склад, тип цены.
    как период карточки нужно использовать дату(которая в документе) и дату(которая в документе)-2 месяца.
    ну и сразу чтобы он начал формироваться. пока есть вот что, но плохо понимаю в ту ли сторону вообще ковыряюсь.
    если можно подоступнее и без отправки на чтение( я итак все свободное время читаю литературу по 1с)
    Код (Text):
    Процедура СдКарточку();
    перем таблзнач; //честно незнаю правильно ли беру таблицу значений документа заказ поставщику
    тексклад=создатьобъект("справочник.склады"); //это я пока тоже плохо понимаю что то вроде символьного объявления
    тексклад=справочник.склады.поискпонаименованию("индустриальная"); //теоретически должно найти в справочнике нужный склад и присвоить переменной тексклад...
    конт=форма.параметр;
    конт="";
    открытьформу("отчет.карточкаколичественносуммовогоучета,конт);
    конт.выбсклад=текслад;
    конт.выбноменклатура=таблзнач.номенклатура.текущаястрока;
    конт.форма.обновить(1);
    конецпроцедуры;
    кто чем может помогите пожалуйста
     
  2. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Хороший код, творческий.
    Однако из всего него ставим только строку:
    открытьформу("отчет.карточкаколичественносуммовогоучета,конт);

    Сразу видно, что писано не в 1С а в голове, буквы не красивые и не хватает кавычки в имени отчета. Надо работать в условиях максимально приближенным к боевым. Для начала отладьте только эту команду. Тогда пойдем дальше, передадим ему параметры. Вот эта переменная "конт" она отчету нужна? Вычеркнуть.
    Глупство одно, как говорила моя бабушка. Присвоил, тут же стер.

    Чтобы заставить отчет принять параметры, надо в нем посмотреть процедуру ПриОткрытии(). В ней разобраться, как он настроен к считыванию входных параметров. Боюсь, Вам, это не по зубам.
     
  3. Encore

    Encore Гость

    вот вырезки кода из карточки
    Код ( (Unknown Language)):
    Процедура ПриОткрытии(ФлагЧтенияНастройки)

    Если ВидРазделителя = 0 Тогда
    ВидРазделителя    = 1;
    КонецЕсли;

    Форма.ВыбНоменклатура.ВыборГруппы(0);
    Форма.ВыбРазделитель1.ВыборГруппы(0);
    Форма.ВыбРазделитель2.ВыборГруппы(0);
    Форма.ВыбРазделитель3.ВыборГруппы(0);

    Номер  = ВосстановитьЗначение("НомКарточкиКолСтоимУчета");
    Если Номер = 0 Тогда
    Номер  = 1;
    КонецЕсли;

    Если ФлагЧтенияНастройки = 0 Тогда
    ДатаНачала    = глЗначениеПоУмолчанию("ОсновнаяДатаНачалаОтчетов");
    ДатаКонца  = РабочаяДата();
    КонецЕсли;

    УправлениеДиалогом();
    ПриИзмененииСклада();
    КонецПроцедуры // ПриОткрытии()
    Код ( (Unknown Language)):
    Процедура Сформировать(ФлагЗакрытия=0)
    Перем Запрос, ТекстЗапроса, Таб;

    Если глПроверкаДаты(ДатаНачала,ДатаКонца)=0 Тогда
    Возврат;
    КонецЕсли;

    Если ПустоеЗначение(ВыбНоменклатура) = 1 Тогда
    Предупреждение("Не выбрана номеклатура");
    Возврат;
    КонецЕсли;

    Если ПустоеЗначение(ВыбСклад) = 1 Тогда
    Предупреждение("Не выбран склад");
    Возврат;
    КонецЕсли;

    Если ВыбСклад.РозничныйСклад = 0 Тогда
    Если ПустоеЗначение(ТипЦены) = 1 Тогда
    Предупреждение("Не указан тип учетной цены");
    Возврат;
    КонецЕсли;

    СформироватьПоОпту();
    Иначе
    СформироватьПоРознице();
    отсюда появляется мнение что нужно передать параметры
    ДатаНачала,ДатаКонца,ВыбНоменклатура,ВыбСклад,ТипЦены.
     
  4. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Не лезьте в дебри. Сделайте простую вещь:
    - на документе "заказ поставщику" красивая кнопка [Отчет]
    - по кнопке просто открывается отчет.
    - пользователь сам в отчете укажет склад и запустит.

    А когда похвастаетесь, что хоть это сделали, посмотрим дальше.
     
  5. alxrie

    alxrie Гость

    Encore,
    если хотите передать параметры в форму, то это можно сделать так:
    в месте открытия формы:
    Парам = СоздатьОбъект("СписокЗначений");
    Парам.Установить("ИмяПарам1",ЗначениеПарам1);
    //...
    Парам.Установить("ИмяПарамN",ЗначениеПарамN);

    В самом отчёте:

    Процедура ПриОткрытии()
    Параметры = Форма.Параметр;
    Если ТипЗначенияСтр(Параметры)="СписокЗначений" Тогда
    ЧтоТоТам1 = Параметры.Получить("ИмяПарам1");
    //...
    ЧтоТоТамN = Параметры.Получить("ИмяПарамN");
    КонецЕсли;
    //...
    КонецПроцедуры
     
Загрузка...
Статус темы:
Закрыта.

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