Версия для печати темы (https://pro1c.org.ua/index.php?s=cf574f4ff4e4a87995bdf28cb80e2788&showtopic=67167)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Слияние группы аналогов

Автор: burza 29.01.23, 19:02

Подскажите как слить несколько аналогов в одну групу, вытаскиваю через ексель в TЗ а дальше нужно обработать, вот как на етой обработке. https://pro1c.org.ua/redirect.php?https://infostart.ru/public/383922/
подскажите как реализовать.



вот что есть у меня, должно быть 5 записей и однин код групы как в обработке

Автор: Vofka 30.01.23, 9:15

burza, что именно не получается?

Автор: denis84 30.01.23, 9:27

burza @ Вчера, 19:02 * ,
это Ваша ТЗ на картинке?

Свернуть ТЗ по код, производитель, производитель 2

Автор: burza 30.01.23, 12:24

denis84 @ Сегодня, 9:27 * ,
мне нужно чтобы получилось 5 строк в итоге 4 строки из код2 и 1 из код

burza @ Сегодня, 12:17 * ,
чет у меня голова не работает как это сделать)
в екселе они в таком формате я их так и затягиваю в таблицу

Автор: Bernet 30.01.23, 13:06

burza @ Сегодня, 12:24 * ,
Сделайте новую ТЗ с колонками "Код" и "Производитель". В цикле обойдите вашу исходную ТЗ и записывайте в новую ТЗ данные с тех парных колонок (т.е. на каждую старую строку в новой таблице получится две строки). Потом после цикла делаете ТЗ.Свернуть("Код,Производитель") и все, дубли уйдут

Автор: burza 30.01.23, 13:50

Bernet @ Сегодня, 13:06 * ,
В цикле обойдите вашу исходную ТЗ и записывайте в новую ТЗ данные с тех парных колонок (т.е. на каждую старую строку в новой таблице получится две строки).
Пример кода можно?)

Автор: burza 30.01.23, 15:20

Bernet @ Сегодня, 13:06 * ,
мне еще нужно для понимания что вот ети 5 записей что получаться должны бить под одним общим кодом так сказать, типо код группы

Автор: burza 30.01.23, 21:58

Есть группа аналогов Товар А - Товар В, и еще одна группа Товар С - Товар D. При добавлении в аналоги Товару А Товара C или D - получится одна общая группа аналогов A,B,C,D.

Автор: Bernet 31.01.23, 10:40

burza @ Вчера, 13:50 * ,

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

Для Каждого СтрокаТЗ Из ИсходнаяТз Цикл
     НоваяСтрока = НоваяТЗ.Добавить();
     НоваяСтрока.Код = СтрокаТз.Код;
     НоваяСтрока.Производитель = СтрокаТз.Производитель;

     НоваяСтрока = НоваяТЗ.Добавить();
     НоваяСтрока.Код = СтрокаТз.Код2;
     НоваяСтрока.Производитель = СтрокаТз.Производитель2;
КонецЦикла;

НоваяТз.Свернуть("Код,Производитель");

Автор: burza 31.01.23, 19:04

Bernet @ Сегодня, 10:40 * ,

Спасибо! Но ето не то что в обработке)

Автор: Bernet 01.02.23, 9:07

burza @ Вчера, 19:04 * ,
Посмотрел статью, но честно говоря не совсем понял сути.
Типа надо получить все возможные варианты группы А-Б и C-D?

Автор: burza 01.02.23, 9:25

Bernet @ Сегодня, 9:07 * ,
Типа надо получить все возможные варианты группы А-Б и C-D?
Да

вот ети 5 товаров ето всё одно и тоже, просто разные артикулы и производитель

если 4 строки один производитель то рядом код2 это его аналог
а строка 5 тоже аналог аналогу из 4 строки.
вот они все один товар, их как бы через универнасльный код связать через проверку.
вот в етом и сложность)

Автор: Bernet 01.02.23, 10:39

burza @ Сегодня, 9:25 * ,
тогда наверно надо вашу ТЗ параметром запихнуть в запрос, например во временную таблицу "ВремТаб" и сделать "ПОЛНОЕ СОЕДИНЕНИЕ" этой таблицы сама с собой, типа "ВремТаб ПОЛНОЕ СОЕДИЕННИЕ ВремТаб" по полям с первой и второй группы, по идее должны получить все возможные варианты с их перебором.

Автор: burza 01.02.23, 11:03

Bernet @ Сегодня, 10:39 * ,
Пример можно, я уже не соображаю)

Автор: burza 02.02.23, 9:53

я так понимаю обработка сложная, что некто не знает)

Автор: sava1 02.02.23, 10:06

burza @ Сегодня, 9:53 * ,
да нихрена не понятно в постановке задачи.
Попробуйте нормально сформулировать, а не кусками.

Автор: burza 02.02.23, 10:33

sava1 @ Сегодня, 10:06 * ,
в первом посте ссылка на обработку что там не понятного? вот нужно такое сделать) а с какой стороны к этому подойти не имею понятия

burza @ Сегодня, 10:10 * ,


есть ексель документ там пару милионов строк, в документе 4 столбца Оригинал запчастей и аналог. вот нужно по одной запчасте в документе найти все детали которые могут пересекаться между собой

Автор: Vofka 02.02.23, 14:28

Цитата(burza @ 02.02.23, 10:33) *
в первом посте ссылка на обработку что там не понятного? вот нужно такое сделать) а с какой стороны к этому подойти не имею понятия

То есть, кто-то должен найти возможность её получить (скачать/купить), потом потратить время чтобы проанализировать что же там происходит и потом в доступной форме объяснить вам?
В такой постановке задачи не хватает ещё суммы, которую вы готовы за это заплатить.

Вам выше набросали варианты как это концептуально делается. Если вы вообще не понимаете о чем там, я сильно сомневаюсь, что вам кто-то даст удовлетворительный для вас ответ с такой постановкой вопроса.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua