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