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



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

Как получить индекс строки выборки результата запроса?
Я
   Сияющий Асинхраль
 
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 или кнопку "Обновить" в браузере.
Рекламное место пустует