Цитата(Vofka @ 26.10.17, 8:17)
А лучше опишите задачу. А то как обычно.
Задача?
Это долгий разговор. И вообще тут не любят длинные дискуссии. Был предупрежден модератором за нарушение ...
Но ладно... может изложу ..
Но предупреждаю заранее... много нюансов.. поэтому коротко объяснить не получиться.
Gigi @ Сегодня, 15:07
,
Ладно, так и быть излагаю. И ну и что, что сообщение получилось длинное.
За одно еще спрошу, какой вариант лучше для поставленной цели. Вариант первый второй или не важно. И еще спрошу правильный ли путь выбрал для цели вообще.
Так вот, в чем суть цели?
Дело в том, что я пишу прогу загрузки данных из табличного документа на сервер. Которую уже закончил. Т.е. примерно такую же программу, как ту, которую можно скачать готовую … в виде обработки на сайте 1С. Так вот, в подобных обработок загрузки все вроде нормально, только я хочу сделать чуть большее. И доработать.
А именно, научить МАШИНУ ДУМАТЬ!
Да, цель не так уж и простая!
Сделать так, что бы машина умела, анализировать и делать выводы.
И почему так негодую? Потому, что цель не простая, а я должен париться с какой-то выше указанной ерундой.
Допустим обычная обработка по загрузке данных. И допустим, вопрос загрузки не по созданию элементов на сервере, а загрузки по способу перезаписи уже созданных предположим документов.
Для этой цели естественно нужны реквизиты поиска и значения поиска.
Допустим реквизиты поиска: «ОтчетныйМесяц» и «ЮридическоеЛицоОтчета».
Так вот, в обычном случае, данные можно записать по соответствию найденных значений в реквизитах поиска. Но это в том, случае если эти самые значения поиска нигде в списке не дублируются. А что если они местами дублируются? И что если в таком случае нужно на каждый дубль записать разные значения?
А как быть в таком случае?
И тут, на случай дуля значений поиска, как и в отдельных командах поиска, так и в готовых обработках данные можно записать только в первое совпадение, или записать одно и то же во все совпадения без разбору.
А нужно, что бы машина была чуть умнее.
А именно, что бы дублируемые значения совпадения на сервере, она записывала в соответствии порядка таких же совпадений в табличной части.
А для этого машина должна во первых анализировать и зарегистрировать совпадения. И на клиенте (в табличном документе) и на сервере. Т.е. анализировать и делать выводы как поступать.
Так вот, для указанной цели лично у меня такое решение.
Сделать два подхода загрузки данных по поиску.
С использованием в массива или структуры. Конечно, тут есть очень удобна таблица значений…. но блииин.. она не поворотлива и ленива. Ее ведь нельзя гонять с сервера на клиент . И поэтому на хрен она тогда нужна, если нельзя, вот это понять не могу! )))))
Так вот, сделать два цикла загрузки. Первый цикл загружает данные по не дублируемым совпадениям, и при этом параллельно считает и индексирует каждое дублируемое совпадение и собирает все это в массив или структуру. И делает это и на сервере, и на клиенте. Но это первый цикл загрузки. После которого, уже запускается второй цикл, который загружает данные по дублируемым значениям поиска, по соответствующему обозначенному в массиве индексу дубля.
Т.е. на пример если указанное загонять в структуру, то будут две структуры в таком формате:
СтруктураДублируемыхЗначенийПоиска_клиент(ИндексДубля, НомерСтроки_N) // для табличного документа
СтруктураДублируемыхЗначенийПоиска_сервер(ИндексДубля, КодИлиОбъектДокумента) // Для сервера
И получив эти структуры уже можно загружать данные соответственно по индексу дубля.
Вот собственно и решение. И вот для чего был нужен этот самый номер строки табличного документа.
И ТАКОЙ ФИШКИ НЕТ В ОБРАБОТКЕ ЗАГРУЗКИ СКАЧЕННОЙ С САЙТА 1С.
Но самое смешное, что задача не так уж и сложная, но не сильно легкая. Казалось бы… нужно заставить машину думать и анализировать. И казалось бы … цель нормальная. Но когда для поставленной такой цели на первых, же этапах этот достающий мор головы … с этим несчастным номером строки… блиииин. Вот что, доводит …. Когда не то, что научить машину анализировать, но получить какой то ерундовый номер строки, это еще оказывается нужно еще искать инфу …. и гадать как сделать эту ерунду. Вот что достает.
Ладно! В двух словах объяснить не получилось.
Часто на форуме говорят: изложите не в отдельном моменте, а в целом задачу. Типа для полной картины понимания. Часто это слышу.
Я то не против изложить, всю задачу тут объяснять это …. ну понятно же… длинные речи. Зачем это здесь нужно?
Поэтому, ладно … в данном случае решил поступить, как советуют и изложил всю цель. И вот и задача в целом, а не в отдельном вопросе.
Ладно… если кто подскажет другие решения буду признателен.
Я просто пока не взялся реализовывать решение. Поэтому может, есть другие способы. На пример, какие-то команды, которые сократят написание строк кода и при этом оптимизируют скорость выполнения.
Так что, буду признателен за толковый совет для изложенной цели.