План-схема обработки по загрузке из Эксель в 1С #784374


#0 by lirt82
Подскажите порядок написания кода, нужна обработка для обычных форм которая будет загружать номенклатуру из файла эксель в таб. часть дока поступление. Можно ли в одной процедуре это написать? Процедура Загрузить 1) подключаемся к файлу и считываем данные 1а) создаем док поступление и его таб часть. 2)Открываем цикл внутри которого ищем номенклатуру по реквизиту в справочнике Номенклатура, если не находим то создаем. 3) В этом же цикле заполняем таб. часть дока Поступление. 4) Закрываем цикл. 5) Записываем новый документ. КонецПроцедуры Загрузить Правильный порядок?
#1 by mrpink
почему-бы и нет
#2 by shadow_sw
подход имеет быть место :)
#3 by DDwe
А зачем в одной? Что бы подлиннее ?
#4 by DDwe
Или вы платите деньги за каждую процедуру-функцию?
#5 by PLUT
нормальный такой план для диплома
#6 by lirt82
оптимизация:)
#7 by DDwe
Это в чем она выражается?
#8 by DDwe
" подключаемся к файлу и считываем данные " - куда считываем?
#9 by Йохохо
в 1а еще надо склад, контрагента, организацию, вид и тип договора, ндс, счета взаиморасчетов, упаковки номенклатуры, шк
#10 by МимохожийОднако
Если есть кнопка Заполнить у документа Поступления, то п. 1а и 5 лишние
#11 by МимохожийОднако
ИМХО, информации недостаточно. Конфигурация, сэр?
#12 by lirt82
отбой, задача написать в одной процедуре весь код, ответ получен что можно.
#13 by Йохохо
в тонком клиенте? нюню
#14 by МимохожийОднако
с тобой рядом кто-то сидит? ))
#15 by Wirtuozzz
Думаю что лучше так: Подключаемся к файлу проверяем его структуру считываем в ТЗ создаем новый документ нужного типа в документе заполняем шапку заполняем в документе ТЧ любым удобным способом.
#16 by Wirtuozzz
потом записываем документ, режим записи запись или проведение по вкусу)
#17 by DDwe
Можно с дури и столб сломать.
#18 by lirt82
в чем преимущества создания Таблицы значении? если можно сразу проверять если не нашел создавать и тут же созданый заносить в таб часть дока?
#19 by DDwe
Ну, как бы странный вопрос. Если подумать конечно.
#20 by Масянька
Извечный спор, что лучше (в "лучше" вкладывается "оптимальнее", "быстрее", "безопаснее" и пр.) - построчное чтение из файла или считать всю инфу из файла, а потом (опять таки) построчно обрабатывать.... Дилемма...
#21 by IlyaSR
Можно все проверить, прежде чем создавать документ, скажем вывести это все на форме загрузки, возможно что-то добавить или.... а потом сделать так Документ.ТабличнаяЧасть.Загрузить(ТЗ);
#22 by AneJIbcuH
Почему-то не увидел ответа, наверное, самого главного (про оптимальность). Считав сначала всё в ТЗ, можно исключить "запрос в цикле", а ваш метод - "если можно сразу проверять если не нашел создавать" - это он самый!
#23 by _stay true_
1. Конфигурация, сэр! 2. Microsoft JET OLE DB считывает файл в 4500 строк в ТЗ с помощью универсальной функции за 1.4 секунды. Workbooks, по мне так, работает дольше. К тому же, ТЗ получается со структурой колонок как в таблице эксель, что очень удобно. 3. Я бы разбил на несколько процедур/функций
#24 by lirt82
Торговля на обычных формах
#25 by Wirtuozzz
Свой косяк не дал покоя: Подключаемся к файлу проверяем его структуру считываем в ТЗ Закрываем файл создаем новый документ нужного типа в документе заполняем шапку заполняем в документе ТЧ любым удобным способом. записываем документ, режим записи запись или проведение по вкусу)
#26 by LeReve
Можно весь модуль документа запихнуть в одну функцию.. делов то.
#27 by Wirtuozzz
И назвать это сапом
#28 by Demasiado
Возможно что в какой то заказчик проверяет ТЗ которое прогеры к исполнению накидали:)
#29 by Garykom
Чтение данных из xls (может же быть что угодно) и запись этих данных в базу (с поиском и созданием при необходимости номенклатуры и прочего) это же разные штуки. Раздели на процедуры/функции и лучше отдельные для поиска и создания нужных объектов в базе. 1. Читаем из ... в ТЗ строки 2. Преобразовываем в ТЗ строки в нужные простые данные (числа, дата. булево и т.д.) 3. Передаем ТЗ для загрузки 4. Получаем ТЗ и запускаем цикл загрузки 4.1. Ищем/создаем объекты
#30 by Garykom
+ Может быть тонкость что для избежания "запросов в цикле" для поиска/подбора номенклатуры лучше поле(я) поиска списком/таблицей передать. А уже затем обработка с автосозданием номенклатуры только для не заполненных строк в ТЗ.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С