новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: Загрузка и обновление номенклатуры

    • #1
    • 21.07.2021 14:21
    0
    Есть обработка для загрузки и обновления номенклатуры, нам необходимо ее доработать Обработка должна обновлять или загружать номенклатуру максимум за 5 минут, то есть необходимо быстродействие •...  Подробнее>>
    • #2
    • 21.07.2021 14:25
    0
    profildoors-spb.ru
    Если названия совпадают у нас и у поставщика, но разные артикулы



    Как бы противоречит этому

    profildoors-spb.ru
    Поиск всегда по артикулу


    Ну и про 5 минут - требование к обработке некорректное.
    • #3
    • 22.07.2021 22:17
    0
    Артур Салаватович
    Ну и про 5 минут - требование к обработке некорректное.


    Здравствуйте, Артур.
    А почему это требование некорректное?
    Вполне адекватное желание Заказчика уложить в приемлемые рамки время ожидания пользователем реакции системы.
    Понятно, что это время сильно от железа зависит. Но если у разработчика на его машине грузиться будет меньше 5 минут, то задачу уже можно будет считать сданной. А если, при этом, еще и у заказчика оно грузиться будет меньше 5 минут, то даже в арбитраж ходить не придется.
    • #4
    • 23.07.2021 11:03
    0
    Потому что, время работы зависит от уймы условии.

    то есть по Вашему, если обработка будет написана идеально, без возможности дальнейшей оптимизации кода, в пользу быстродействия, но при этом не укладывается в работе в 5 минут, то задача не выполнена?
    • #5
    • 23.07.2021 11:12
    0
    спорить о 5 минутах ни к чему, речь о быстродействии, время указано приблизительное, на данный момент большой файл 90тыс строк вообще не грузится нашей обработкой, но у нас есть максимум 30 минут для обработки такого файла, т.к. есть другие временные рамки
    • #6
    • 24.07.2021 01:31
    -1
    Артур Салаватович
    то есть по Вашему, если обработка будет написана идеально, без возможности дальнейшей оптимизации кода, в пользу быстродействия, но при этом не укладывается в работе в 5 минут, то задача не выполнена?


    Во-первых, нет предела совершенству. И если обработка будет написана "идеально", то всегда можно воспользоваться какой-нибудь платной COM-компонентой, которая загрузит эту эксельку еще быстрее.

    А во-вторых, обработка, которая загружает долго, у Заказчика уже есть. Ему нужна именно быстро работающая обработка.
    Следовательно, да - если Исполнитель напишет по его мнению "идеальную" обработку, которая не будет укладываться в нормативы времени, то логично считать задачу не выполненной (т.к. требования задачи не выполнены).

    Естественно, что те, кто не уверен в высокой вероятности достижения поставленного результата, за эту задачу браться не будут.
    У меня есть опыт ускорения подобных обработок. Поэтому, я бы "попытал счастья". Но сейчас сильно занят задачами. Так что, если эта задача меня дождется, то можно будет попробовать. А нет - так не судьба видимо.
    • #7
    • 24.07.2021 01:35
    0
    profildoors-spb.ru
    Поиск всегда по артикулу


    Вы так и не ответили на замечание Артура Салаватовича по поводу нестыковки в ТЗ.
    Так как все-таки нужно сопоставлять номенклатуру?
    • #8
    • 17.08.2021 17:36
    +1
    Т.е. если кто дружит с математикой - это нужно грузить/искать проверять 50000/300 = 1666 элементов в секунду !!!
    удачи господа ))))
    • #9
    • 17.08.2021 17:43
    0
    Владимир
    1666 элементов в секунду !!!


    подумали, что 1с=нейросеть :)
    • #10
    • 17.08.2021 21:11
    0
    Добрый день!
    Имеется моего производства разработка "Загрузка номенклатуры c картинками и сопутствующими данными в базу и любые документы из xls,xlsx,xlsm,ods,ots,csv для УТ 10.3, БП 2.0, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6, Розница 2" - https://infostart.ru/public/420278/.
    По ссылке есть справка - можете ознакомиться с функционалом.
    Год получения обновлений на данную разработку в подарок!
    Могу продать напрямую со скидкой.
    По скорости - быстрее не найдёте!
    • #11
    • 18.08.2021 01:56
    -1
    Владимир
    1666 элементов в секунду !!!
    удачи господа ))))


    Вы зря иронизируете.
    Даже, если грузить не спец. компонентами, которые Эксельку воспринимают как XML, а через "тормознутый" Excel.Application, то даже в нем есть возможность грузить колонками по 65к ячеек за один чих. Т.е. 1666 строк в секунду на современном железе - цифра вполне возможная.
    Там еще будет вопрос сопоставления номенклатуры. Но это тоже если одним запросом сделать для всей номенклатуры, а не по одной дергать, то есть шанс, что достаточно шустро отработает.
    • #12
    • 18.08.2021 11:57
    +1
    Назаренко Сергей Васильевич
    Вы зря иронизируете.


    А мне кажется не зря. Тут речь идет не в том чтобы прочитать 1666 строчек и загрузить их в ту же ТЗ. Речь идет о том что нужно потенциально загрузить 1666 элементов справочника "Номенклатура" с картинками в секунду.
    Конечно обменДанными.Загрузка наше все, но гарантировать такую скорость я бы не стал.
    • #13
    • 18.08.2021 19:40
    0
    Вы просто не умеете узнавать все четыре цифры платформы.
    • #14
    • 18.08.2021 21:21
    • Отредактировано: 18.08.2021 21:22:09
    +1
    в абсолютно новой базе (Справочник без реквизитов):

    &НаСервереБезКонтекста
    Функция Создать1000ЭлементовНаСервере()
    Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
    Для ё = 1 по 1000 Цикл
    НовСпр = Справочники.Справочник1.СоздатьЭлемент();
    НовСпр.Записать();
    КонецЦикла;
    Конец = ТекущаяУниверсальнаяДатаВМиллисекундах();
    Возврат Конец - Начало;
    КонецФункции

    &НаКлиенте
    Процедура Создать1000Элементов(Команда)
    ПотраченоМС = Создать1000ЭлементовНаСервере();
    Сообщить("Создать, мс: " + ПотраченоМС);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция Перезаписать1000ЭлементовНаСервере()
    Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
    Выб = Справочники.Справочник1.Выбрать();
    Пока Выб.Следующий() Цикл
    Выб.ПолучитьОбъект().Записать();
    КонецЦикла;
    Конец = ТекущаяУниверсальнаяДатаВМиллисекундах();
    Возврат Конец - Начало;
    КонецФункции

    &НаКлиенте
    Процедура Перезаписать1000Элементов(Команда)
    ПотраченоМС = Перезаписать1000ЭлементовНаСервере();
    Сообщить("Перезаписать, мс: " + ПотраченоМС);
    КонецПроцедуры

    Создать, мс: 3 577
    Перезаписать, мс: 1 555
    Перезаписать, мс: 1 579
    Перезаписать, мс: 1 588

    Если поменять на
    Об = Выб.ПолучитьОбъект();
    Об.ОбменДанными.Загрузка = Истина;
    Об.Записать();
    то:
    Перезаписать, мс: 3 481
    Перезаписать, мс: 2 447
    Перезаписать, мс: 2 439

    Т.е. 400-600 эл/сек.
    Проц 3ГГц, память ДДР3 1333.
    1С:Предприятие 8.3 (8.3.18.1289)
    • #15
    • 19.08.2021 01:00
    • Отредактировано: 19.08.2021 01:01:26
    0
    Николай И
    Т.е. 400-600 эл/сек.


    давай на скуль и по потокам раскидать запись. Но понятное дело, что указанная производительность с трудом получается на определенном железе даже для пустой конфы и для справочника без реквизитов и без обработчиков. А ведь еще и эксельку прочитать надо)

    Тут походу кроме крутой ДЛЛки для чтения эксельки, нужно еще и прослойку между экселькой и базой данных убирать) Что конечно же будет нарушением лицензионного соглашения с 1с)
    • #16
    • 01.10.2021 23:29
    0
    всё-таки тут дело не в эксель. Как создать в справочнике полмиллиона элементов номенклатуры за парут минут?
    • #17
    • 01.10.2021 23:37
    • Отредактировано: 01.10.2021 23:37:39
    0
    Задачку сделал, но не оплатили!!!
    • #18
    • 01.10.2021 23:40
    0
    Иващенко Николай
    Задачку сделал, но не оплатили!!!


    Не удивительно, в самой задаче было заложено противоречащие друг-другу условия. Сделал под одно условие, нарушил второе, и наоборот - следовательно, всегда можно сказать задача не выполнена. Профит.
    • #19
    • 01.10.2021 23:49
    0
    Дело в непорядочности заказчика...
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться