7.7 ДЕЛАЮ КУРСОВИК ПОМОГИТЕ

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем pulsar, 16 май 2007.

  1. TopicStarter Overlay
    pulsar
    Offline

    pulsar

    Регистрация:
    16 май 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Нужно сделать внешний отчет в котором есть стандартное поле выбора из справочника номенклатура, вопрос следующий - как можно сделать так чтобы справочник номенклатура открывался не в "корне", а на определенной группе?
  2. TopicStarter Overlay
    pulsar
    Offline

    pulsar

    Регистрация:
    16 май 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    8) неужели никто не знает, кто-то ведь наверняка сталкивался с похожей задачей, разве что справочник может быть другой...
  3. Aptem
    Offline

    Aptem

    Регистрация:
    15 май 2007
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    из модуля формы списка, напр. при открытии+условие на типа "восстановить значение" либо др процедура, в модуле формы , какую сможешь вызвать программно...

    в модуле формы списка пишешь типа:
    ПРоцедура ПриОткрытии()
    КодГр=восстановитьЗнацение("отк1");
    спр=создатьОбъект("Справочник.ТотЖеСамый");
    Если (Спр.НайтиПоКоду(КодГр)=1) и (спр.ЭтоГруппа()=1) Тогда
    ИспользоватьРодителя(Спр.ТекущийЭлемент(),0);
    КонецЕсли;
    КонецПроцедуры;

    сохраняешь значение "отк1", естественно из своего внешнего отчета
  4. TopicStarter Overlay
    pulsar
    Offline

    pulsar

    Регистрация:
    16 май 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    вот спасибо! то что нужно... почти 1 в 1 переписал:)
  5. Snake-84
    Offline

    Snake-84 Опытный в 1С

    Регистрация:
    28 янв 2007
    Сообщения:
    110
    Симпатии:
    0
    Баллы:
    26
    Процедура ПриначалеВыбораЗначения(Ид,Флаг)
    Перем Конт;
    Если Ид = "ВыбТовар" тогда
    Флаг = 0;
    ОткрытьФорму("Справочник.Номенклатура",Конт);
    Конт.ИспользоватьРодителя(<твоя_группа>);
    КонецЕсли;
    КонецПроцедуры
  6. TopicStarter Overlay
    pulsar
    Offline

    pulsar

    Регистрация:
    16 май 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    всем спасибо. сделал первым предложеным способом - работает.
    подскажите еще такую вещь - пишу процедурку ТОП10 (10 самых популярных товаров, сортировка по кол-ву и цене), получилось вот так:
    Процедура top10()

    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ТЗ.НоваяКолонка("товар"); ТЗ.НоваяКолонка("производитель"); ТЗ.НоваяКолонка("кол"); ТЗ.НоваяКолонка("цена");

    //Создание объекта типа Запрос
    Запрос=СоздатьОбъект("Запрос");
    ТекстЗапроса="Период с НачДата по КонДата;
    |товар=Документ.РасходнаяНакладная.Товар, Документ.ПродажаВРозницу.Товар;
    |производитель=Документ.РасходнаяНакладная.Производитель, Документ.ПродажаВРозницу.Производитель;
    |Кол=Документ.РасходнаяНакладная.Количество, Документ.ПродажаВРозницу.Количество;
    |цена=Документ.РасходнаяНакладная.Цена, Документ.ПродажаВРозницу.Цена;
    |Функция КолТ=Сумма(Кол);
    |Группировка товар;
    |Группировка производитель;
    |Группировка цена;";

    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Возврат; КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица3");
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);

    // Вывод заполненной формы
    Пока Запрос.Группировка(1)=1 Цикл
    Пока Запрос.Группировка(2)=1 Цикл
    Пока Запрос.Группировка(3)=1 Цикл
    ТЗ.НоваяСтрока();
    ТЗ.товар=запрос.товар; ТЗ.производитель=запрос.производитель;
    ТЗ.цена=запрос.цена; ТЗ.кол=запрос.КолТ;
    КонецЦикла; КонецЦикла; КонецЦикла;

    Ном=0; ТЗ.ВыбратьСтроки(); ТЗ.Сортировать("3-,4+");
    Пока (ТЗ.ПолучитьСтроку()=1) и (ном<10) Цикл
    Ном=Ном+1; Таб.ВывестиСекцию("строка");
    КонецЦикла;

    Таб.вывестиСекцию("линия");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Печать - учет автозапчастей", "");
    КонецПроцедуры //top10

    можно получше, покороче написать?
  7. Aptem
    Offline

    Aptem

    Регистрация:
    15 май 2007
    Сообщения:
    38
    Симпатии:
    0
    Баллы:
    1
    нет надобности делать 3 цикла для переноса запроса в ТЗ
    есть метод выгрузить и наверное, группировку разбивать
    тоже не стоит... если я прав... будет 1 цикл вместо 4-х
  8. TopicStarter Overlay
    pulsar
    Offline

    pulsar

    Регистрация:
    16 май 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    если бы я знал как не разбивать группировку на 3 части (не видел ни одного примера группировки 3 в 1), то разумеется и не плодил столько циклов... метод выгрузить конечно есть, но разбираться что к чему было просто некогда:)

    вобщем всем учавствовавшим большое спасибо! тему можно считать закрытой - сегодня защитился, резутьтат - отлично:)

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