Вредные советы (загрузка из таблиц Excel)

Публикация № 123438

Разработка - Практика программирования

40
Программисты просят вас предоставить данные в xls для загрузки? Обязательно почитайте и проверьте все ли пункты присутствуют в вашем файле.... Иначе загрузка будет скучной и не интересной для них.

С чего я написал эту статью? А с того, что один заказчик сказал, что все данные есть и он мне их даст в xls. Файлов было около 12 и открыв первые два немного поплевался, но решил, что сделаю алгоритм и исправлю эти мелкие недочеты (которые, впринципе есть всегда) своим кодом. В результает все файлы переделал вручную с помощью LibreOffice... благо времени для запуска всего проекта было много - целая ночь :) А срывать сроки только из-за того, чтобы объяснять заказчикам каие должны быть файлы - могло растянуться на неделю-другую. И весь этот негатив от моих "придирок" и проваленных сроках естественно ушел бы на меня. Кстати нижеперечисленные пункты взяты не из головы. Я даже думаю, что заказчик читал похожие советы где-то, иначе откуда бы взялись такие файлы?

И так: Программисты просят вас предоставить данные в xls для загрузки? Обязательно почитайте и проверьте все ли пункты присутствуют в вашем файле.... Иначе загрузка будет скучной и не интересной для них.

  1. Скртые строки (усложняют, но не сильно... сильно усложняют только тогда, когда в скрытых строках содержаться данные)

  2. Объединенные ячейки (сильно усложняют)

  3. Несколько файлов, в которых подразумевается шапка, но в шапке некоторых файлов встречаются по разному названные колонки. Напр: «Макс. Нагрузка» и «Максимальная нагрузка» для алгоритма совершенно разные колонки (сильно усложняет)

  4. Визуальное разделение ячейки. Напр: Данные «это строка» и «это другая строка» относятся к разным колонкам, но разделены произвольным количеством пробелов (обычно от 6-10) (сильно усложняет)

  5. Оформление ячеек, такое как разлиновка, раскраска, выделение жирным (не усложняет вовсе, но алгоритму на них все равно и заказчик при этом может потратить пол дня на украшения)

  6. Мусор в ячейках. Напр: ячейки не должны содержать данных, но в них есть какие-либо символы (пробел, кавычка, запятая и т. д.). Это же и ежу понятно, что мусор, но только не алгоритму (сильно усложняет)

  7. Часть данных записана в строке n, а часть данных в строке n+1, причем в произвольном порядке. Но ведь они разделены рамками таблицы (сильно усложняет, вплоть до невозможности обработки)

  8. Колонка подразумевает вполне четкие значения, но везде записаны по разному. Напр: валюта (сильно усложняет если называть ее значения по разному: «руб.» он же «руб», он же «рубль», он же «руб .» - это все одно значение для человека, но разные для алгоритма. Посмотрите внимательно, чем они отличаются.

  9. В ячейке, которая должна быть числом содержаться строковые данные. Напр.: Цена во всех ячейках выглядит как 8, 9,10.01, 11,12 и т. д. но встречаются ячейки в которых записано 10 шт. или 9 штук (усложняют только когда они имеют суффикс и по возможности не повторяются. Причем «шт.» и «штук» уже не повторяются см. п.8)

  10. Адрес записан в одной ячейке, но в результате должен быть разделен на город, улицу, квартиру, корпус, дом, строение и офис (Сильно усложняет вплоть до невозможности обработки адреса)

40

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Nio 59 02.04.12 11:45 Сейчас в теме
5. RainyAugust22 236 04.04.12 07:02 Сейчас в теме
(1)Это в книжке есть чтоли?:)
2. _LEV_ 02.04.12 16:05 Сейчас в теме
Дать бы почитать список клиентам, которые присылают заказы в Екселе.
Думаю они даже переплюнут этот список в несколько раз, такое творят, мама не горюй :(
shard; oninfostart; Voblhned; mdzen; opx; +5 Ответить
3. provnick 04.04.12 06:33 Сейчас в теме
Встретился такой вариант артикула (Каталожный номер), в одной ячейке одно число, обозначающее что то известное только производителю, в другой ячейке марка автомобиля (цифрами), в третьей некая загадочная цифра, в четвертой еще одна цифра. Говорят нам все это нужно. Вот теперь не знаю, то ли загнать это все в артикул, то ли доп. реквизиты в номенклатуре создавать, то ли задать пять почему, как в публикации http://infostart.ru/public/123716/
4. atarix 04.04.12 06:49 Сейчас в теме
вот такой вариант - вместо того чтобы ввести в 3 колонке вводят в 1 и добивают пробелами что стояло там где надо
еще очень нравятся присылаемые файлы со ссылками на другие книги вместо данных.
6. GalKo 04.04.12 07:31 Сейчас в теме
Глупость! К программированию никакого отношения не имеет, просто это надо отнести к самообразованию пользователя 1С и Офиса. И коммент тоже глупый.
24. bimy22 01.04.19 14:42 Сейчас в теме
(6) Соглашусь, что это для самообразования офиса.
7. rasswet 82 04.04.12 12:07 Сейчас в теме
да много что могут пользователи подпортить..
8. maxlenium 34 04.04.12 17:28 Сейчас в теме
Спасибо автору. Очень интересно.
9. 1C82 42 07.04.12 03:35 Сейчас в теме
А слабо сделать так, чтобы пользователь если даже и захотел, то не напортачил? Я знаю решение !!!! Снести EXCEL с компьютера :) а лучше его совсем выключить...
10. sttt 113 07.04.12 15:49 Сейчас в теме
все легко решается, не вижу проблем в описанном, единственное больше кода
12. opx 568 08.04.12 13:13 Сейчас в теме
(10)Иногда встает вопрос: "а как быстрее?" и "больше кода" бывает неуместно
13. sttt 113 08.04.12 13:23 Сейчас в теме
(12) как правило вопрос-ответ с часик занимает, если не минут
14. EarlyBird 6 13.05.12 09:30 Сейчас в теме
(13) sttt, фигню-то не неси.
Автор всё правильно говорит. Юзеров нужно прессовать, и требовать от них нормального исполнения юзерских обязанностей.
Иначе они совсем оборзеют, думать перестанут, а потом все косяки свалят на тебя и на программу, которая дескать "сама неправильно посчитала".
shard; smaximaa; holostyak; +3 Ответить
15. sttt 113 13.05.12 11:08 Сейчас в теме
(14) EarlyBird,
Ваше дело, у меня такого бардака нет и все довольны )))
16. sttt 113 13.05.12 11:08 Сейчас в теме
(14) EarlyBird, бедные юзеры...
11. flashorl 07.04.12 18:32 Сейчас в теме
Заходер отдыхает со своими советами))
18. Sergeant82 31.08.12 22:38 Сейчас в теме
(17) Eugeneer, ну зато вам было не скучно при загрузке =)
19. Raminus 04.09.12 08:24 Сейчас в теме
Ну в чем то конечно автор прав, но все же при желании все можно решить, да и скучно не будет :))
20. markers 241 04.09.12 13:55 Сейчас в теме
На прошлом месте работы, была подобная проблема систематически. Пользователям отправляется прайс в некотором формате в котором есть колонка "Заказ", где подразумевается указание желаемого количества для заказа, и изначальный алгоритм их обработки автоматической был фиксированный под оригинальный прайс. Но часто клиенты присылали либо количество заказываемого товара не в той колонке, либо некоторые колонки удаляют (типа ненужные), либо присылают заказ вообще непохожий на оригинальный (например печатную форму заказа поставщику в Excel), в результате пользователям в 99% случаев приходилось ставить обработчику заказа в ручную номера колонок с необходимой информацией.
И тогда я решил попробовать это устранить, в результате получился код, который автоматически определяет назначение колонок (не по названию, а по содержимому) и сам обрабатывает, за счет чего стали обрабатываться > 99% заказов.
Конечно данный алгоритм сильно зависим от базы и не настраивается, из-за чего я суда его и не выложил, но плюс в нем ещё тот, который мне пригождался позже, это обработка XLS, XLSX, ODS.
Но конечно, в моем случае, тут обработка на регулярной основе однотипных данных....
21. Одинец 244 29.08.15 19:37 Сейчас в теме
Интересная статья и содержательное обсуждение в комментариях!
22. Flashback1979SE 24.08.16 05:01 Сейчас в теме
Есть замечательное высказывание Лаврова на эту тему)))
23. user1167923 02.03.19 12:02 Сейчас в теме
Оставьте свое сообщение

См. также

Приватный блокчейн и 1С популярно 6

Статья no Нет файла Бесплатно (free) Практика программирования Блокчейн

Две предыдущие публикации на эту тему были сфокусированы преимущественно на технической стороне вопроса. Кроме того, их содержание оказалось понятным не каждому специалисту. В этой статье я постараюсь обяснить для всех и, что говорится, «на пальцах»: что такое приватный блокчейн, когда и зачем его следует применять и на что обратить внимание при использовании этой технологии в 1С.

02.09.2019    1798    mkalimulin    140       

Кодогенерация и метагенерация в 1С 25

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    4359    kirovsbis    28       

Простая работа с dbf и перевод в excel 4

Статья Программист Нет файла Россия Windows Бесплатно (free) Файловые протоколы обмена, FTP Загрузка и выгрузка в Excel

Хочу рассказать, как просто создать и отредактировать dbf файл, переведя его в excel.

23.08.2019    1275    WWWWW    3       

Интеграция сценарного тестирования в процесс разработки 81

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    4822    grumagargler    7       

Управляй качеством кода 1С с помощью SonarQube 234

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    18152    olegtymko    196       

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    5621    m-rv    2       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    8320    m-rv    16       

О времени и 1С 208

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

01.04.2019    16677    YPermitin    59       

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф") 5

Статья Системный администратор Программист Нет файла Россия Кассовые операции Бесплатно (free) Практика программирования Разработка ККМ

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф"). Данная статья будет полезна интеграторам, программистам, тем кто работает (интегрирует, разрабатывает) различное ТО либо железки. Версия и релиз технологической платформы не имеет значения.

17.03.2019    3243    dmarenin    0       

Быстрее чем INSERT! BULK-операции и примеры использования 112

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Разработка Внешние источники данных Перенос данных из 1C8 в 1C8

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    10721    YPermitin    38       

Как писать понятные коммиты 68

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    8178    Scorpion4eg    35       

Расширяем свой багаж 2

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Алгоритм решения возможной нетиповой задачи на собеседовании.

29.01.2019    3553    scientes    15       

Подготовка ребёнка* к ЕГЭ по информатике. Часть четвертая 4

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Решение систем логических уравнений повышенного уровня сложности.

25.01.2019    3278    vasilev2015    0       

Подготовка ребенка* к ЕГЭ по информатике. Часть вторая 2

Статья Программист Нет файла Бесплатно (free) Практика программирования

Примеры на Паскале. Если сам родитель* - поддержи ! Если сам водила - посигналь !

19.01.2019    3646    vasilev2015    0       

Подготовка к ЕГЭ сына - школьника (по информатике) 9

Статья Программист Нет файла Бесплатно (free) Практика программирования

Примеры на Паскале. Если сам отец - поддержи ! Если сам водила - посигналь !

17.01.2019    4099    vasilev2015    50       

Копирование числовых ячеек из 1С в Excel 26

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Загрузка и выгрузка в Excel Администрирование данных 1С

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    11304    itriot11    21       

Быстрая отладка экранных форм документов и справочников 19

Статья Программист Нет файла Бесплатно (free) Практика программирования

Трюк элементарный и я думаю, что большинство моих коллег владеет им, но для тех, кто не знает, он может сэкономить большое количество времени.

18.12.2018    4843    milkers    19       

1С + asterisk (автоматический обзвон) часть 1 38

Статья Системный администратор Программист Нет файла Россия Бесплатно (free) Практика программирования WEB Телефония, SIP

Пример реализации автообзвона (с обработкой ответа на отвечающей стороне) с использованием ami asterisk. Данная статья может быть полезна программистам, интеграторам, администраторам. Версия и релиз технологической платформы не имеет значения.

29.11.2018    7674    dmarenin    9       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 127

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    22053    ids79    40       

Развитие 1С программиста 51

Статья Программист Нет файла Бесплатно (free) Практика программирования Личная эффективность

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    14366    pashamak    62       

Вспомогательные инструкции в коде 1С 105

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    21369    tormozit    100       

Из Excel в 1С запросом 33

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Загрузка и выгрузка в Excel

... ну, конечно, не прям так типовым языком запросов, а расширенным языком запросов. Речь пойдет о том, как "залить" данные в таблицы 1С и не пилить при этом бесконечного количества наколеночных обработок.

14.08.2018    14092    m-rv    5       

Записки про metadata.js 54

Статья Программист Нет файла Бесплатно (free) Практика программирования

Отличительные особенности разработки на metadata.js

31.07.2018    9528    1c-intelligence    59       

Учебный курс. Повышение качества разработки. Ошибки программы 97

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Рефакторинг и качество кода

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    16149    Артано    92       

Автоматизируй это! 150

Статья Системный администратор Программист Нет файла Бесплатно (free) Практика программирования

Здравствуйте. Меня зовут Виталий Онянов. Я работаю в компании ФТО. Мы занимаемся внедрением и поддержкой ERP-систем, в том числе и на 1С. Сегодня я хотел бы поделиться нашим опытом автоматизации своих задач и рассказать о том, какие регламентные задания мы настраиваем на серверах наших клиентов. Возможно, кому-то покажется, что это совсем простые и очевидные вещи, но я в своей работе периодически вижу разработчиков, которые делают какие-то задачи руками изо дня в день, и мне бы хотелось донести до них мысль о том, что многие из этих задач можно и нужно автоматизировать.

02.07.2018    16611    Tavalik    12       

Повышаем эффективность разработки правил обмена 124

Статья Программист Нет файла v8 КД ОС Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    19940    olegtymko    47       

Как сделать запрос на изменение данных 75

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Практика программирования

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    21923    m-rv    21       

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2 49

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    11041    Артано    36       

Строим графы средствами 1С (без GraphViz) 43

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    17743    slozhenikin_com    19       

Распределение расходов пропорционально продажам 9

Статья Программист Пользователь Нет файла v8 v8::ОУ УТ10 УУ Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Бесплатно (free) Практика программирования

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    11900    Rustig    9       

Велостыли: Регламентные задания 16

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования

Переделывая очередное «Костыльное» решение, в голову пришла мысль, собрать все странные решения в одну статью, чтобы была некая библиотека о том, как делать не надо (Навеяно вредными советами). Потом понял, что в одну статью не получится все записать, начну с регламентных заданий. Поясню, в данную статью попали примеры из жизни, которые так или иначе реализованы на механизме регламентных заданий, при этом совершенно не всегда этот подход в принципе оправдан.

09.05.2018    10581    dsdred    28       

Веб-разработка на 1Script. Глава 2 64

Статья Программист Нет файла Бесплатно (free) Практика программирования WEB

Продолжение учебника по веб-разработке с помощью фреймворка Oscript.Web. Структура приложения, основные объекты, URL-маршрутизация, универсальная консоль серверов 1С.

22.04.2018    12450    Evil Beaver    27