Имя: Пароль:
1C
 
Загрузка Ексель, как это делаете вы?
,
0 FlashPoint
 
26.05.20
10:37
Всем привет.
Как делаю я:

1. Ексель -> ТаблицуЗначений;
2. Таблицу значений -> Запрос (тут идет поиск в БД, подготовка пакета с ошибками и итоговый пакет, содержащий данные);
3. Обработка запроса;

Обсудим кто как делает загрузку в ексель?
Может что то нового узнаю...
1 Волшебник
 
модератор
26.05.20
10:41
Начнём с того, что пишется "Excel", произносится "иксэл", переводится "великолепный, превосходный"
2 Сияющий в темноте
 
26.05.20
10:41
Запрос хорош тогда,когда поиск однозначный,а если хочется регулярку,то от запроса придется отказаться.
ну и таблицу тоже полезно пользователю показать,чтобы он что-то мог изменить до создания.
3 Ненавижу 1С
 
гуру
26.05.20
10:43
Эксель в табличный документ 1С
Табличный документ в ТЗ с предобработкой (пустые значения, приведение простых типов)
В ТЗ запросом ищем по ключевым полям сущности, тоже с обработкой ненайденных значений
Отправляем в документ - далее обработка методами документа
4 vde69
 
26.05.20
10:48
1. ком подключение
2. получение сырых данных
3. отключение
4. обработка данных
5. показ результата
6. загрузка
5 FlashPoint
 
26.05.20
10:48
(2) Вот я сейчас тоже пришел к тому, что запрос при загрузке, это больше понт и ничем не обоснованный марафон за "идеальным кодом"
6 FlashPoint
 
26.05.20
10:53
(3) Поиском запросом из "Excel", который произносится как "иксэл" и переводится "великолепный, превосходный" вызывает боль в уме, т.к. при обработке в цикле это 20-30 строк кода, а запрос, который что то найдет по наименованию + проверку, на дубли, помеченный на удаление, + проверку на ненайденный + возможно незаполненный, а не заполненных более 1, то это не дубли это ж дичь какая то. Зачем оно?
7 FlashPoint
 
26.05.20
11:05
главный вопрос:
Стоит ли использовать запрос и гнаться за постулатом, что из базы надо вытаскивать данные в 1 запросе, или долбить эту базу обращениями обходя цикл?
8 Волшебник
 
модератор
26.05.20
11:25
(7) У профессионалов запросы в циклах не тормозят.
9 ManyakRus
 
26.05.20
11:38
в запросе всё задвоится т.к. в Экселе х.з. что за данные
запросом не надо по ненадёжным данным
10 fisher
 
26.05.20
11:49
(7) Я даже исходную таблицу как правило в запрос целиком не сую. Запросом обычно только недостающие данные вытягиваю. И ничего, руки не отвалились до сих пор. Чего там писать. Минутное дело.
Зато уже устал хвалить себя из прошлого, когда приходится что-то дорабатывать спустя время.
11 DomovoiAtakue
 
26.05.20
12:31
Когда-то я писал первую обработку по загрузке из Экселя. Я написал все на циклах, максимально оптимизировано, но оказалось, что обработка делает мою загрузку (10к строк с обработкой данных) 40мин. Я догадывался что это долгова-то и пошел на Мисту. Тут матерые проги даже не раскусывая меня сказали, что скорее всего я сверяю данные не запросом и скорее всего эта загрузка должна быть несколько мин максимум. Они были правы на 100%. #МистаНаучит
12 lodger
 
26.05.20
12:53
(6) один раз тратишь час на разработку нормального решения или десятки юзеров каждый тратят час еженедельно.
все зависит от применения. если обработка одноразовая, то можно и накопрокодить. но где гарантии, что ей не придется пользоваться постоянно?
13 VladZ
 
26.05.20
13:07
1. Загрузить данные из Excel в ТаблицуЗначений (или табличную часть обработки).
2. Идентифицировать объекты. Тут возможен вариант "Таблицу значений -> Запрос". Но не вся таблица из п. 1, а нужные колонки для нужных объектов. Если объем исходных данных большой - добавляю кэширование.
3. Показать пользователю (на больших объемах отключаю этот шаг).
4. Загрузить.
14 Aleksey
 
26.05.20
13:14
конвертация (сохранения) средствами екселя в csv.
Загрузка из текстового csv файла.
15 Hillsnake
 
26.05.20
13:21
самое лучшее через построитель.
потом через адо, там можно делать всякие крутые прогресс бары.
(14) а если расчетные или ссылочные ячейки ?
16 Aleksey
 
26.05.20
16:52
(15) ссылочные куда? На другую книгу?
А расчетные можно и повторить по месту
17 GreyK
 
26.05.20
17:22
(0) Всё просто, вначале в таблицу значений, поиск соответствий, потом форма предоставляется пользователю для указания соответствий, соответствия сохраняются в конфигурации, потом уже формируются документы.
18 rsv
 
26.05.20
17:39
(0) это когда ексель на 100 строк . Когда под лям будет - откроете для себя мастер импорта скуля
19 rsv
 
26.05.20
17:40
И экспорта тоже .. в ексель созранять
20 GreyK
 
26.05.20
17:47
(18) Вы это серьёзно? Лям товаров в 1С!? Урежте леща.
21 Aleksey
 
26.05.20
17:52
(20) в автозапчастях это норма
22 GreyK
 
26.05.20
18:03
(21) Ещё раз говорю, урежьте леща, в базе 1С весь прайс никто не держит. ИМХО
23 DES
 
26.05.20
18:29
(22) а полпрайса можно?
24 lodger
 
26.05.20
22:41
(18) зачем? пускай живёт себе во внешнем источнике. пускай более оптимизированные для таких задач числодробилки жрут миллионы строк прайсов.
25 experimentator76
 
26.05.20
23:42
(0) загружая из эксель, не использую эксель
26 experimentator76
 
26.05.20
23:45
(7) если обработка пользовательская, лучше делать оптимально, т.е. сопоставлять данные одним запросом.
если разработческая-разовая - можно сэкономить время на неоптимальности, но как говорят - обработка может стать постоянной или попасть к недругам на поругание :)
27 GreyK
 
27.05.20
00:01
(23) На сколько позиций прайс?
28 ГдеСобака Зарыта
 
27.05.20
00:12
Видал я поделку мастера, который в УФ загружал таблицу из "иксэл", а потом с клиента построчно вызывал сервер с контекстом для заполнения остальных полей и с отдельным запросом для каждого поля. Около часа выполнялось это дело. Когда я это передалал и все заполнение стало выполняться за 10 сек., заказчик не мог поверить. Говорили что я мухлюю и не могут данные так быстро подгружаться и что-то тут не так. После того как все проверили и все сошлось, присвоили мне почетное звание бога.
29 Aleksey
 
27.05.20
01:34
(24) А какая разница внутри базы или во ВИД. Все равно сохранять, сравнивать, загружать...