Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

Табличный документ - строка


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1   Alisa

Alisa

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 78
    • Регистрация: 17-August 09
    • Откуда:Красный Луч , Луганская Область , Украина

Отправлено 07 October 2010 - 19:38

Формируется табличный документ
Вот процедура:

запрос = новый запрос;
запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| НормаДетали.Ссылка КАК Док,
| НормаДетали.Ссылка.Дата КАК Дата,
| НормаДетали.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.Норма.Детали КАК НормаДетали
|ГДЕ
| НормаДетали.Наименование = &Ссылка
| ИЛИ НормаДетали.ЗагМатериал = &Ссылка
|
|УПОРЯДОЧИТЬ ПО
| Дата
|АВТОУПОРЯДОЧИВАНИЕ";
запрос.УстановитьПараметр("Ссылка", ссылка);
Выборка = запрос.Выполнить().Выбрать();

Если выборка.Количество() = 0 тогда возврат; КонецЕсли;
тд = новый ТабличныйДокумент;
макет = ПолучитьМакет("списокПД");
мкт = макет.ПолучитьОбласть("шапка");
мкт.Параметры.Ссылка = ссылка;
мкт.Параметры.Объект = "подетальных";
тд.Вывести(мкт);
мкт = макет.ПолучитьОбласть("строка");
сч = 1;
пока Выборка.Следующий() цикл
мкт.Параметры.номер = сч;
мкт.Параметры.Заполнить(выборка);
тд.Вывести(мкт);
сч = сч + 1;
КонецЦикла;
тд.АвтоМасштаб = истина;
тд.ОтображатьСетку= ложь;
тд.ТолькоПросмотр = истина;
тд.Показать("Список подетальных");

В табличном документе показывается название документа и номер строки

http://s40.radikal.r...51902ef1b4d.jpg

Подскажите, как сделать чтобы когда становишься на номер строки - документ открывался именно на этой строке?

  • 0
Не забываем ставить плюсик в репутацию

#2   andreykyiv07

andreykyiv07

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 58
    • Регистрация: 07-August 10
    • Откуда:Киев , Киев , Украина

Отправлено 08 October 2010 - 00:02

Надо ДО открытия документа спозиционировать курсор на нужную строку.. Такую процедуоу делал для товароведов - из карточки товара цены открывал нужную "УстановкуЦенНоменклатуры" и позиционировал курсор на нужной строке:

Процедура ЦеныНоменклатурыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Документ=ЭлементыФормы.ЦеныНоменклатуры.ТекущиеДанные.Регистратор.ПолучитьОбъект();
ФормаДокумента=Документ.ПолучитьФорму("ФормаДокумента");

ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", ВыбраннаяСтрока.Номенклатура);

Строки=Документ.Товары.НайтиСтроки(ПараметрыОтбора);
Если Строки.Количество() > 0 Тогда
ФормаДокумента.ЭлементыФормы.Товары.ТекущаяСтрока = Строки[0];
ФормаДокумента.ЭлементыФормы.Товары.РежимВыделенияСтроки=РежимВыделенияСтрокиТабличногоПоля.Строка;
КонецЕсли;
ФормаДокумента.Открыть();
КонецПроцедуры

Становимся на первую запись из найденных, т.к. в установке цен она будет единственной.. Если у Вас другого типа регистр - то позиционируетесь на просто первой записи

  • 0

#3   Alisa

Alisa

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 78
    • Регистрация: 17-August 09
    • Откуда:Красный Луч , Луганская Область , Украина

Отправлено 10 October 2010 - 11:50

Спасибо, да пришлось написать новую процедуру и создать форму.
А я хотела узнать - как в уже существующем табличном документе - при клике на номер строки документ открывался бы на именно этой строке, а не на первой как открывается. Если конечно такое возможно.
Или такой команды не существует и нужно применять создание ФормыДокумента.
  • 0
Не забываем ставить плюсик в репутацию



Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных