Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

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

План-схема обработки по загрузке из Эксель в 1С
Я
   lirt82
 
03.11.16 - 06:30
Подскажите порядок написания кода, нужна обработка для обычных форм которая будет загружать номенклатуру из файла эксель в таб. часть дока поступление. Можно ли в одной процедуре это написать?
Процедура Загрузить()
1) подключаемся к файлу и считываем данные
1а) создаем док поступление и его таб часть.
2)Открываем цикл внутри которого ищем номенклатуру по реквизиту в справочнике Номенклатура, если не находим то создаем.
3) В этом же цикле заполняем таб. часть дока Поступление.
4) Закрываем цикл.
5) Записываем новый документ.
КонецПроцедуры Загрузить()
Правильный порядок?
 
 
   mrpink
 
1 - 03.11.16 - 06:37
почему-бы и нет
   shadow_sw
 
2 - 03.11.16 - 06:41
(0) подход имеет быть место :)
   DDwe
 
3 - 03.11.16 - 06:42
(0) А зачем в одной? Что бы подлиннее ?
   DDwe
 
4 - 03.11.16 - 06:43
Или вы платите деньги за каждую процедуру-функцию?
   PLUT
 
5 - 03.11.16 - 07:00
(0) нормальный такой план для диплома
   lirt82
 
6 - 03.11.16 - 07:21
(4) оптимизация:)
   DDwe
 
7 - 03.11.16 - 07:22
(6) Это в чем она выражается?
   DDwe
 
8 - 03.11.16 - 07:24
(6) " подключаемся к файлу и считываем данные " - куда считываем?
   Йохохо
 
9 - 03.11.16 - 07:32
в 1а еще надо склад, контрагента, организацию, вид и тип договора, ндс, счета взаиморасчетов, упаковки номенклатуры, шк
   МимохожийОднако
 
10 - 03.11.16 - 07:36
Если есть кнопка Заполнить у документа Поступления, то п. 1а и 5 лишние
 
 Рекламное место пустует
   МимохожийОднако
 
11 - 03.11.16 - 07:36
ИМХО, информации недостаточно. Конфигурация, сэр?
   lirt82
 
12 - 03.11.16 - 08:27
(11) отбой, задача написать в одной процедуре весь код, ответ получен что можно.
   Йохохо
 
13 - 03.11.16 - 08:38
(12) в тонком клиенте? нюню
   МимохожийОднако
 
14 - 03.11.16 - 08:40
(12) с тобой рядом кто-то сидит? ))
   Wirtuozzz
 
15 - 03.11.16 - 08:42
(0) Думаю что лучше так:
Подключаемся к файлу
проверяем его структуру
считываем в ТЗ
создаем новый документ нужного типа
в документе заполняем шапку
заполняем в документе ТЧ любым удобным способом.
   Wirtuozzz
 
16 - 03.11.16 - 08:43
потом записываем документ, режим записи запись или проведение по вкусу)
   DDwe
 
17 - 03.11.16 - 08:43
(12) Можно с дури и столб сломать.
   lirt82
 
18 - 03.11.16 - 08:46
(15) в чем преимущества создания Таблицы значении? если можно сразу проверять если не нашел создавать и тут же созданый заносить в таб часть дока?
   DDwe
 
19 - 03.11.16 - 08:54
(18) Ну, как бы странный вопрос. Если подумать конечно.
   Масянька
 
20 - 03.11.16 - 09:08
(18) Извечный спор, что лучше (в "лучше" вкладывается "оптимальнее", "быстрее", "безопаснее" и пр.) - построчное чтение из файла или считать всю инфу из файла, а потом (опять таки) построчно обрабатывать....
Дилемма...
   IlyaSR
 
21 - 03.11.16 - 09:17
(18) Можно все проверить, прежде чем создавать документ, скажем вывести это все на форме загрузки, возможно что-то добавить или....
а потом сделать так Документ.ТабличнаяЧасть.Загрузить(ТЗ);
   AneJIbcuH
 
22 - 03.11.16 - 09:48
(18) Почему-то не увидел ответа, наверное, самого главного (про оптимальность). Считав сначала всё в ТЗ, можно исключить "запрос в цикле", а ваш метод - "если можно сразу проверять если не нашел создавать" - это он самый!
   _stay true_
 
23 - 03.11.16 - 10:09
(18)
1. Конфигурация, сэр!

2. Microsoft JET OLE DB считывает файл в 4500 строк в ТЗ с помощью универсальной функции за 1.4 секунды. Workbooks, по мне так, работает дольше. К тому же, ТЗ получается со структурой колонок как в таблице эксель, что очень удобно.

3. Я бы разбил на несколько процедур/функций
   lirt82
 
24 - 03.11.16 - 11:46
(23) Торговля на обычных формах
   Wirtuozzz
 
25 - 03.11.16 - 13:08
(15) Свой косяк не дал покоя:
Подключаемся к файлу
проверяем его структуру 
считываем в ТЗ 
Закрываем файл
создаем новый документ нужного типа 
в документе заполняем шапку 
заполняем в документе ТЧ любым удобным способом.
записываем документ, режим записи запись или проведение по вкусу)
   LeReve
 
26 - 03.11.16 - 13:17
Можно весь модуль документа запихнуть в одну функцию.. делов то.
   Wirtuozzz
 
27 - 03.11.16 - 13:25
(26) И назвать это сапом
   Demasiado
 
28 - 03.11.16 - 13:40
Возможно что в (0) какой то заказчик проверяет ТЗ которое прогеры к исполнению накидали:)
   Garykom
 
29 - 03.11.16 - 13:49
(0) Чтение данных из xls (может же быть что угодно) и запись этих данных в базу (с поиском и созданием при необходимости номенклатуры и прочего) это же разные штуки.

Раздели на процедуры/функции и лучше отдельные для поиска и создания нужных объектов в базе.

1. Читаем из ... в ТЗ строки
2. Преобразовываем в ТЗ строки в нужные простые данные (числа, дата. булево и т.д.)
3. Передаем ТЗ для загрузки
4. Получаем ТЗ и запускаем цикл загрузки
4.1. Ищем/создаем объекты
   Garykom
 
30 - 03.11.16 - 13:52
(29)+ Может быть тонкость что для избежания "запросов в цикле" для поиска/подбора номенклатуры лучше поле(я) поиска списком/таблицей передать.

А уже затем обработка с автосозданием номенклатуры только для не заполненных строк в ТЗ.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует