Вход | Регистрация
 

Как получить индекс строки выборки результата запроса?

Как получить индекс строки выборки результата запроса?
Я
   Сияющий Асинхраль
 
16.11.18 - 17:12
У Выборки запроса есть функция Получить(<Индекс>), вопрос в том как получить Индекс произвольной строки запроса, скажем той на которой спозиционирован в настоящий момент?
 
 
   formista2000
 
1 - 16.11.18 - 17:14
(0) Своё счетчик в цикле.
   Сияющий Асинхраль
 
2 - 16.11.18 - 17:18
(1) Проблемка в том, что выборка идет не совсем последовательно, поэтому и встал вопрос по поводу Получить()
   RomanYS
 
3 - 16.11.18 - 17:19
(0) Это не с строке относится, к полю (=колонке).
   formista2000
 
4 - 16.11.18 - 17:21
(2) Какая разница? Во всех местах, где двигаешься по выборке .Следующий() ставь счётчик = счетчик + 1 и будет тебе щастье!
   RomanYS
 
5 - 16.11.18 - 17:21
Выборка[0] == Выборка[ИмяПервойКолонки] == Выборка.Получить(0)
   Сияющий Асинхраль
 
6 - 16.11.18 - 17:21
(3) Это ближе к истине :-( . Т.е. получается никак нельзя позиционироваться на точной строке выборки?
   RomanYS
 
7 - 16.11.18 - 17:22
(6) только перебором или поиском
   Ёпрст
 
8 - 16.11.18 - 17:22
(4) он может двигаться через найтиСледующий и тут обломинго со счётчиком
   Сияющий Асинхраль
 
9 - 16.11.18 - 17:23
(7) Понятно. Спасибо...
   RomanYS
 
10 - 16.11.18 - 17:23
(9) если нужно по индексу строки - выгружай в ТЗ (если возможно)
 
 Рекламное место пустует
   Сияющий Асинхраль
 
11 - 16.11.18 - 17:25
(8) Именно так и двигаюсь :-( ... Просто не хотел полностью переписывать типовые печатные формы. Ищу методу отделаться минимальными изменениями... Но покамест номер с "минимумом" изменений не катит :-(
(10) Про ТЗ помню всегда :-(, одна беда, под это дело надо кучу типового кода переделывать... :-(
   Ёпрст
 
12 - 16.11.18 - 17:26
Цель то какая ? Если обходишь через НайтиСледующий или через СледующийПоЗначениюПоля то тупо делай Сбросить() потом
   RomanYS
 
13 - 16.11.18 - 17:26
(11) всю задачу обрисуй
   Сияющий Асинхраль
 
14 - 16.11.18 - 17:30
В типовой форме испольуется последовательно сначала Шапка.СледующийПоЗначениюПоля() - тут выбираются реквизиты Шапки, после чего циклом идет перебор реквизитов ТЧ
Пока Шапка.Следующий() Цикл
КонецЦикла;

Мне надо несколько раз пробежаться как по шапке, так и по ТЧ, просто тупо вывести одну и ту же печатную форму несколько раз в зависимости от настроек контрагента в шапке документа, а пока оказывается, что Сбросить() - сбрасывает в самое начало, что не то...
   Ёпрст
 
15 - 16.11.18 - 17:32
(14) почему не то ? После сброса делай найтиПоЗначениюПоля и всё по новой.
   Ёпрст
 
16 - 16.11.18 - 17:34
всё равно же накладываешь условие на позиционирование выборки
   RomanYS
 
17 - 16.11.18 - 17:34
(14) может запрос поправить чтобы возвращал нужное "в зависимости от настроек контрагента"?
   Сияющий Асинхраль
 
18 - 16.11.18 - 17:34
Вот СледующийПоЗначениюПоля в справке вижу, а НайтиПоЗначениюПоля - нет :-( , Или не верить глазам своим?
   Ёпрст
 
19 - 16.11.18 - 17:35
ну или Итоги добавь в запрос и обходи его по группировкам - отдельно шапку, отдельно строки..
   youalex
 
20 - 16.11.18 - 17:35
(18) НайтиСледующий()
   Ёпрст
 
21 - 16.11.18 - 17:36
(18) ну шо я тебе, все константы помнить должен ? :)
   Сияющий Асинхраль
 
22 - 16.11.18 - 17:38
(17-19) Это да, с этим согласен. Просто у меня под десяток печатных форм такого плана (причем не самых простеньких), типа Счетов-фактур, Торг-12 и т.д. Вот я и ищу методу отделаться минимальными правками :-(
(21) Не, к тебе вопросов нет, я с тобой тут на 150% согласен - сам не помню :-)
   RomanYS
 
23 - 16.11.18 - 17:42
(22) А что за конфа? Может как-то пересобирать готовый ТД проще чем сразу выводить как надо?
   Сияющий Асинхраль
 
24 - 16.11.18 - 17:44
(23) Хлебозавод на типовой бухе... Правда, чем дальше, тем все более нетиповой становится эта конфа :-(
   Вафель
 
25 - 16.11.18 - 17:45
зачем несколько раз? может проще запомнить выводи скопировать нужное количество раз?
   Вафель
 
26 - 16.11.18 - 17:45
если делаешь несколько доков, то номера строк в таблице сохраняются
   Сияющий Асинхраль
 
27 - 16.11.18 - 17:47
(25) В принципе по поводу копирования мне идея нравится, надо будет обмозговать. Вполне может быть, что и прокатит...
   Сияющий Асинхраль
 
28 - 16.11.18 - 17:51
(26) Идея такая, что мне надо одним блоком распечатать табличные формы по целой куче Реализаций одновременно, причем, в реализациях разные контрагенты, которым нужен разный набор печатных форм и разное количество самих этих печатных документов. В типовом варианте есть возможность задавать количество одинаковым для всех, вот эту задачку я и пытаюсь сейчас победить...
   RomanYS
 
29 - 16.11.18 - 17:52
(24) БП2 или БП3?
   Сияющий Асинхраль
 
30 - 16.11.18 - 17:52
(29) БП3
   Ёпрст
 
31 - 16.11.18 - 17:54
(28) дык проще печатать обработкой, а количество экземпляров печ форм хранить в рег. сведений каком-ниить или в свойствах клиентоса. И в самой печ форме смотреть, если есть свойство/значение в рег. сведений, то ставим столько то копий/ портрет/ландшафт..

ЗЫ: у нас так, к примеру.
   RomanYS
 
32 - 16.11.18 - 17:54
(30) В БП3 (бсп) вижу функцию
Процедура ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка) Экспорт
    
    Элемент = ОбъектыПечати.НайтиПоЗначению(Ссылка);
    Если Элемент = Неопределено Тогда
        ИмяОбласти = "Документ_" + Формат(ОбъектыПечати.Количество() + 1, "ЧН=; ЧГ=");
        ОбъектыПечати.Добавить(Ссылка, ИмяОбласти);
    Иначе
        ИмяОбласти = Элемент.Представление;
    КонецЕсли;
    
    НомерСтрокиОкончание = ТабличныйДокумент.ВысотаТаблицы;
    ТабличныйДокумент.Область(НомерСтрокиНачало, , НомерСтрокиОкончание, ).Имя = ИмяОбласти;

КонецПроцедуры

возможно она сильно тебе упростит задачу пересборки/копирования
   Сияющий Асинхраль
 
33 - 16.11.18 - 17:56
(31) Ну, я, строго говоря и делаю нечто подобное, т.е. из отдельной обработки. Просто не переписывать же полностью формирование печатных форм, там печать обычной счет-фактуры больше чем на 4000 строк. Вот пытаюсь сохранить типовые способы печати - ну, насколько можно, конечно...
 
 
   Сияющий Асинхраль
 
34 - 16.11.18 - 17:59
(32) Это тоже понадобиться. Спасибо!!! Уже неделю развлекаюсь с печатной подсистемой от 1С :-) , может устал под конец недели...
   RomanYS
 
35 - 16.11.18 - 18:02
(34) всё что тебе нужно уже разложено по полочкам, или может быть разложено. Отпишись, что получится.
Меня эти "ОбъектыПечати" давно интересовали, лень посмотреть что там и зачем. Похоже именно для таких случаев
   Ёпрст
 
36 - 16.11.18 - 18:03
(33) Да пофик, сколько там строк. Делаешь впф, там чутка поправить код, чтоб в зависимости от параметров либо сохраняла табдок в файло в нужном формате, либо печатала + вещи типа количестваЭкземпляров и ориентацию.

И потом печатаешь групповой обработкой печати, в которую добавить выбор нескольких печформ в отдельной ТЗ.
Усё.
   Ёпрст
 
37 - 16.11.18 - 18:12
   Сияющий Асинхраль
 
38 - 16.11.18 - 18:19
(37) Да, что-то подобное и творю...
(35) Отпишусь. На функцию из (32) я сегодня несколько раз выходил по отладке, но видимо уставший не обратил на нее внимание, а сейчас подумал - да, как-то уж очень она удобна для моих задач. Расскажу, что получится...
   Сияющий Асинхраль
 
39 - 16.11.18 - 18:21
+(35) Уж больно в эту функцию удобно куски для копирования вставлять, тут ты очень прав...
   RomanYS
 
40 - 16.11.18 - 19:20
Странно что Зак не пришел, и не предложил всё по Эдо отпралять) может заголовок слишком неприметный


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует