IE 2016

Загрузка данных из табличного документа (управляемые формы)

Опубликовал proal в раздел Обмен - Загрузка и выгрузка в Excel

Обработка загрузки данных из табличного документа на основе стандартной от 1С, переделанная для тонкого клиента.
Для 8.2 и 8.3

Описание:

Загрузка данных из табличного документа для управляемых форм.

Создана на основе стандартной обработки для толстого клиента.

Возможности все те же, за исключением сохранения настроек в базе - настройки можно сохранить только в файл.

Писал для себя, но может ещё кому поможет.

31.03.2014

Устранил ошибку: При открытии обработки в интерфейсе Такси, при переключении загрузки в Таб. часть, в поле "Ссылка" нет кнопки выбора объекта.
В процедуре ПриОткрытии формы добавлена проверка версии платформы и для 8.3 устанавливается свойство элемента, отвечающее за кнопку выбора.

10.04.2014

Учтено замечание от qwinter - в поле "Значение по умолчанию" настроена связь по типу с полем "Описание типов". Отказ от программного ограничения типов.

Устранён недочет - в 8.3 в поле "Значение по умолчанию" не было кнопки выбора. Теперь есть.

08.12.2014

Добавил файл обработки, работающей в режиме без использования модальных окон.

09.01.2015

Доработал сохранение настроек: Теперь при сохранении настройки загрузки сохраняются и номера колонок, заданные при ручной нумерации колонок (по замечанию от ToJIuK. Спасибо за замечание :).
А также наконец добавил функцию СведенияОВнешнейОбработке в модуль.
Обработка прописывается как Дополнительная обработка с одной командой открытия формы "Загрузка из табличного документа". Пробовал на Библиотеке стандартных подсистем 2.2.4.43 и Бухгалтерии 3.0. Необходимо будет ручками указать в каком разделе должна быть обработка, потом в списке дополнительных обработок её можно будет добавлять.

17.06.2015

Сохранение в настройках номеров колонок было реализовано только для платформы 8.3. Обновлена обработка для 8.2 - теперь в настройках этой версии обработки тоже сохраняются номера колонок. Ранее сохраненные настройки необходимо открыть, проставить номера колонок и сохранить заново. При последующем открытии номера колонок восстановятся.

Известные ошибки:

Перед восстановлением настроек загрузки, вначале нужно выбрать вид загружаемого объекта. Если вы загружаете файл с настройками загрузки Складов, а у вас в текущий момент выбран загружаемый справочник Номенклатуры, то при попытке настроить условие связи (в колонке "Условие связи / Выражение для значения") будет появлятся ошибка.

 

Если загружать файл с настройками по объекту метаданных, отсутствующих в текущей конфигурации - будет вызвана ошибка "Неправильный формат файла", настройки очистятся.

Известные особенности:

Перед настройкой условия связи для реквизита с составным типом - нужно вначале в колонке "Описание типа" выбрать конкретный тип загружаемых данных. Иначе настроить связь не получится.

 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Загрузка данных из табличного документа (УФ)
.epf 58,16Kb
17.06.15
1599
.epf 1.2 58,16Kb 1599 Скачать
Загрузка данных из табличного документа (УФ, без модальных окон)
.epf 56,89Kb
09.01.15
589
.epf 1.4 56,89Kb 589 Скачать

См. также

Лучшие комментарии

36. profisasha 08.12.2014 10:09
(35) Sabfir, Не работает. Необходимо избавится от модальных окон, в частности от Предупреждение И Вопрос.
Как один из примеров статья от 1с http://v8.1c.ru/o7/201312ref/index.htm
+ 1 [ proal; ]
# Ответить
38. ToJIuK (файл скачал) 18.12.2014 21:53
Очень хотелось бы уточнить . Если ли возможность сохранить настройки формы с последующим восстановление . У меня что то не получается. нумерация Колонок сбрасывется.
Ответили: (40)
+ 1 [ carey; ]
# Ответить
1. gull22 (файл скачал) 02.04.2014 14:07
Проверил на Итилиум. Работает. Желательно добавить заголовки у табличной части. А то при проверке сообщает номер ячейки с ошибкой, а среди 1500 строки искать 1235-ю трудновато.
Было бы еще добавить возможность правки в самой ячейке.
+ 1 [ CratosX; ]
# Ответить

Комментарии

1. gull22 (файл скачал) 02.04.2014 14:07
Проверил на Итилиум. Работает. Желательно добавить заголовки у табличной части. А то при проверке сообщает номер ячейки с ошибкой, а среди 1500 строки искать 1235-ю трудновато.
Было бы еще добавить возможность правки в самой ячейке.
+ 1 [ CratosX; ]
# Ответить
2. qwinter (файл скачал) 03.04.2014 22:17
А я свой перевод данной обработки на УФ все никак не дошлифую))
# Ответить
3. qwinter (файл скачал) 03.04.2014 22:28
если в форме элемент ТаблицаЗагружаемыхРеквизитовЗначениеПоУмолчанию связать по типу с описанием типов, то будет нормальный выбор значений по умолчанию.
# Ответить
4. AleksSF (файл скачал) 09.04.2014 09:47
В функциях описания событий определенных пользователем используется предопределенная переменная Объект.
И возникает неоднозначность, желательно ее изменить на например ТекОбъект.
А так +.
# Ответить
5. AlexanderP (файл скачал) 10.04.2014 11:14
Отличная вещь, спасибо!
Правда, с настройками не получилось. Сохранил в mxlz, выбираю тип документа, загружаю настройки, документ - настройки слетают. И наоборот, если сначала настройки, то документ слетает.
Не знаю, стоит ли при выборе документа считывать его ТЧ - если не нужно, то приходится зря ждать для больших непустых ТЧ
# Ответить
6. TitanLuchs 11.04.2014 16:53
Давно пора было кому-то это написать. Сам юзаю загрузку из табличного документа года с 2008, но до написания универсальной обработки так и не добрался...
# Ответить
7. alean 17.04.2014 16:32
почему бы не использовать типовую, запустив отладку в обычном приложении?
хотя...
вот к примеру типовая не умеет грузить в тч справочников.
# Ответить
8. ext23 22.04.2014 02:17
Отличная вещь, спасибо!
# Ответить
9. ben_art (файл скачал) 12.05.2014 13:37
Подскажите , как в список регистров сведений добавить периодичные
Ответили: (10)
# Ответить
10. qwinter (файл скачал) 12.05.2014 23:36
(9) ben_art, так там переодические и так же есть?
Ответили: (13)
# Ответить
11. Stety (файл скачал) 14.05.2014 12:13
Спасибо, нужная и актуальная вещь. :)
# Ответить
12. ben_art (файл скачал) 19.05.2014 17:58
а не планируется ли добавить возможность сохранения настроек ?
# Ответить
13. ben_art (файл скачал) 19.05.2014 17:59
(10) qwinter, Прошу прощения , я имел ввиду как добавить регистры с регистратором
Ответили: (14)
# Ответить
14. qwinter (файл скачал) 19.05.2014 21:09
(13) ben_art, можете посмотреть как это реализовано тут http://infostart.ru/public/21890/ , ничего сложного нет.
# Ответить
15. gavlexx (файл скачал) 04.06.2014 01:49
Не получается открыть обработку в веб-интерфейсе (конфигурация УТ3 для Украины). При открытии пишет "{(2267,20)}": Переменная не определена (КодировкаXBase)
# Ответить
16. Algiz 24.06.2014 23:01
Спасибо, заберу
# Ответить
17. MaksS 30.06.2014 12:54
Спасибо, как раз нужна загрузка табличной части справочников в УП.
# Ответить
18. Sintson (файл скачал) 10.08.2014 23:25
Спасибо за обработку, то что надо, завтра опробую!
# Ответить
19. ron1 (файл скачал) 16.08.2014 00:25
Спасибо за обработку. Загрузила курс у.е. за год без проблем за 1 минуту.
# Ответить
20. Atow (файл скачал) 26.08.2014 16:04
Спасибо за обработку!
Есть проблемка: вывела она 10 тыс. предупреждений при контроле заполнения. Переключился в другое окно, поправил данные, вернулся в окно обработки, а оно "повисло". И бегунок на списке сообщений уменьшается - видимо, повторно сообщения отображает.
Ну, подождал минут 20 - не отвисло.
Если сообщения в отдельную закладку обработки выводить, это может улучшить ситуацию?
Ответили: (21) (27)
# Ответить
21. qwinter (файл скачал) 26.08.2014 20:28
(20) Atow, это стандартное поведение управляемых форм. Просто привыкните к этому.
Ответили: (22)
# Ответить
22. Atow (файл скачал) 27.08.2014 10:42
(21) qwinter, Дело не в привычке, а в том, что обработка, переделанная на УФ неюзабельна в ряде случаев.
Я и предложил добавить закладку на форму и выводить логи в табличный документ на форме. Ну или в список какой-нить.
Возможно, это было бы более правильно для УФ.
Ответили: (23)
# Ответить
23. proal 27.08.2014 11:36
(22) Atow, На таких больших объемах данных не пробовал. Поэтому не могу сказать, поможет или нет.
На днях протестирую, напишу.
# Ответить
24. zoytsa (файл скачал) 04.09.2014 06:33
Спасибо! Отличная работа!
# Ответить
25. cbr900 (файл скачал) 08.09.2014 02:53
А почему не сохраняются нумерация колонок при загрузке настроек
Ответили: (28)
# Ответить
26. Polkaver (файл скачал) 11.09.2014 13:46
При запущенном конфигураторе обработка выдает ошибку

{Форма.Форма.Форма(1301)}: Поле объекта недоступно для записи (ПланСчетов)
Для каждого ПланСчетов Из Метаданные.ПланыСчетов Цикл

А если конфигуратор не запускать и сразу входить в тонкий клиент, то все работает нормально.

Скажите пожалуйста, так и должно быть или это ошибка?
Ответили: (27)
# Ответить
27. proal 11.09.2014 10:21
(26) Polkaver, я не сталкивался с таким... Можно считать ошибкой. На всякий случай надо исправить переменную цикла ПланСчетов на мПланСчетов.
(20) Atow, я попробовал контроль заполнения на больших объемах - у меня система в процессе контроля выводила сообщения, а после того как обработка закончилась - ещё 10 минут перерисовывала табличный документ. Может, в вашем случае обработка тоже была открыта на закладке с табличным документом? Он постоянно перерисовывается при переключении на окно обработки и при переключении с закладки на закладку в форме обработки. Тут я ничего сделать не могу, насколько я знаю - это сама платформа так работает.
# Ответить
28. proal 11.09.2014 10:25
(25) cbr900, Можно поподробнее?
Например, я на закладке "Настройка" включил ручную нумерацию колонок, поставил номера колонок для каких-либо реквизитов, сохранил настройки, переоткрыл обработку, открыл настройки - номера колонок встали как надо.
Какие действия надо предпринять, чтобы нумерация колонок сбилась?
# Ответить
29. iaks (файл скачал) 07.10.2014 20:17
Добрый день.

Хочу обновить справочник Номенклатура в Бухгалтерии 8.3
В файле с обновлением есть уже имеющиеся наименования товаров.

Как сделать чтобы при загрузке с помощью этой обработки не возникало дубликатов?
Как можно изменить отдельное свойство номенклатуры при совпадении наименования в файле импорта и справочнике Номенклатура, например артикул?
Ответили: (30)
# Ответить
30. proal 08.10.2014 05:37
(29) iaks, Насколько я понял, задачка такая:
Есть строки с новой номенклатурой, для которой нужно загрузить все реквизиты из файла
+ есть строки с существующей номенклатурой, для которых нужно загрузить только определённый реквизит.

Легкий путь: Разбить этот файл на два (новая, существующая номенклатура), и загружать каждый отдельно.
Сложный путь: Для каждого реквизита (кроме наименования) ставить режим загрузки "Вычислять" и задать выражение, в котором искать номенклатуру по наименованию из ячейки номер N, если номенклатура есть в справочнике - то значение реквизита брать из номенклатуры (или из ячейки, если это тот самый загружаемый реквизит), если номенклатуры нет - брать из ячейки.

Штука в том, что обработка обрабатывает всю строку, считывает все значения, которые отмечены как обрабатываемые на закладке "Настройка", и вгружает их в объект. Поэтому и надо считывать значения из существующей номенклатуры, чтобы не затереть их другими значениями.
# Ответить
31. елена777 (файл скачал) 17.10.2014 08:21
Спасибо за обработку! Очень пригодилась!
# Ответить
32. PVG_73 (файл скачал) 23.10.2014 14:41
Спасибо! Очень пригодилась.
# Ответить
34. ketr (файл скачал) 03.12.2014 14:51
Подскажите пожалуйста, а почему при загрузке в табличную часть я не могу выбрать справочник номенклатуры?
У него же в УФ есть табличная часть "ДополнительныеРеквизиты"
# Ответить
35. Sabfir 05.12.2014 00:52
Здравствуйте!
Под 8.3 с установленным свойством конфигурации
"Режим использования модальности" = Не использовать
кто-то запускал? Работает?
Ответили: (36) (37)
# Ответить
36. profisasha 08.12.2014 10:09
(35) Sabfir, Не работает. Необходимо избавится от модальных окон, в частности от Предупреждение И Вопрос.
Как один из примеров статья от 1с http://v8.1c.ru/o7/201312ref/index.htm
+ 1 [ proal; ]
# Ответить
37. proal 08.12.2014 13:22
(35) Sabfir, добавил второй файл - переработанная обработка для режима использования модальности "Не использовать".
И спасибо (36) Profisasha.
# Ответить
38. ToJIuK (файл скачал) 18.12.2014 21:53
Очень хотелось бы уточнить . Если ли возможность сохранить настройки формы с последующим восстановление . У меня что то не получается. нумерация Колонок сбрасывется.
Ответили: (40)
+ 1 [ carey; ]
# Ответить
39. PYCTAM (файл скачал) 27.12.2014 15:52
метод объекта не обнаружен сведения о внешней обработке
# Ответить
40. qwinter (файл скачал) 04.01.2015 12:01
(38) ToJIuK, в данной обработке нет.
# Ответить
41. carey (файл скачал) 10.02.2015 20:36
Добрый вечер!
При загрузке выдает ошибку - Ошибка. Возможно неверно указан номер листа книги Excel.

в исходном файле номер листа - Лист1
Ответили: (50)
# Ответить
42. layout (файл скачал) 27.02.2015 20:17
Подскажите, пожалуйста, а как можно загрузить данные в справочник, если у его элемента, помимо реквизитов, 3 табличные части, в которых может быть много строк? Можно как-то настроить автоматическую загрузку, не указывая каждый раз вручную к какому справочнику относится данная табличная часть. В поточной загрузке можно добавлять табличные части, но куда там вставлять данные для загрузки?
Ответили: (43)
# Ответить
43. proal 02.03.2015 13:45
(42) layout,
В этой обработке такого нет :(
# Ответить
44. OldmenInfo (файл скачал) 18.03.2015 11:52
В модулях обработок нет стандартных процедур для размещения в справочнике дополнительных отчетов обработок, немножко неудобно
# Ответить
45. 9830035 (файл скачал) 02.04.2015 18:16
Подскажите что я делаю не так, почему номенклатура загружается криво
Все этапы
http://clip2net.com/s/3fnXN4B
http://clip2net.com/s/3fnZAeO
http://clip2net.com/s/3fnZYIY
http://clip2net.com/s/3fo3fJU
http://clip2net.com/s/3fo3zxf
http://clip2net.com/s/3fo3LXW
Если зайти в номенклатуры и нажать сохранить, то выскакивает такое сообщение
http://clip2net.com/s/3fo4T2t
Ответили: (47)
# Ответить
46. Morffinius 07.04.2015 14:33
Доброго дня, скачал оьработку все супер, только с одним вопросом не могу разобраться, гружу табличную часть в документ поступление товаров и услуг в бухгалтерии 3.0 товары цены количество, все грузит, а вот с номерами гтд возникает проблема пишет объект не найден, забыл сказать для обработки гтд свои настройки если по списку не находит, то в справочник выписывает, а вот в документ пишет объект не найден. В чем может быть проблема, подскадите.
Ответили: (48)
# Ответить
47. proal 08.04.2015 13:29
(45) 9830035,
Добрый день.
Я думаю, вы уже разобрались с проблемой, если же нет, то у меня вопрос:
На последней картинке ругается на пустое значение в поле "Вариант оформления продажи".
При этом на второй картинке (там где закладка Настройка) есть строка с этим полем, и флажок в этой строке выключен.
Т.е. поле не загружается.
Вопрос - Почему флажок не включен? Ведь если загружается новая номенклатура, очевидно что это поле надо заполнять.
# Ответить
48. proal 08.04.2015 13:32
(46) Morffinius, Добрый день.
Я так понимаю, что элементы справочника ГТД вы создаете алгоритмом при загрузке.
А вы точно потом присваиваете Ссылку от созданного элемента? Не пытаетесь записать в документ сам объект?

Т.е. если есть код вида:
ОбъектСправочника = Справочники.НомераГТД.СоздатьЭлемент();
... обработка...
в конце должно быть вроде:
ОбъектСправочника.Записать();
СтрокаДокумента.НомерГТД = ОбъектСправочника.Ссылка;

если же идет такое присваивание:
СтрокаДокумента.НомерГТД = ОбъектСправочника; - тут слева требуется ссылка, а справа объект. Не сработает.
Ответили: (49)
# Ответить
49. Morffinius 08.04.2015 19:40
(48) proal, Доброго дня proal, с программным кодом пока не силен, постараюсь объяснить на пальцах, в основной настройке указываю в поле гтд записывать, ссылка на настройка 1 номера ГТД, в настройке гтд ставлю искать указываю номер колонки ставлю галочку поле для поиска.
# Ответить
50. yellowheel (файл скачал) 13.04.2015 15:28
(41) carey, у меня та же проблема,в с ней разобрались?
Ответили: (51)
# Ответить
51. proal 15.04.2015 07:55
(50) yellowheel, Добрый день.
А перед сообщением об ошибке появляется сообщение "Обработка файла Microsoft Excel..." ?
Если нет, тогда ошибка возникла ещё при открытии файла. Может быть слишком длинный путь до файла, попробуйте перекинуть его в папку C:\Temp, например.
Если да, то ошибка возникла при попытке выбрать первый лист книги. Что-то не так с самой книгой Excel, попробуйте в файле добавить пустой лист _после_ листа с данными, сохранить и ещё раз загрузить.
Ответили: (53) (55)
# Ответить
52. AlexandraSerg (файл скачал) 28.04.2015 16:27
Спасибо большое! все отлично работает на бухгалтерии 3.0.39.65
# Ответить
53. KristinaKometa 16.06.2015 08:38
(51) proal, Наверное повторю вопрос. Однако проблема возникает. Например, я на закладке "Настройка" включила ручную нумерацию колонок, поставила номера колонок для каких-либо реквизитов, сохранила настройки, переоткрыла обработку, открыла настройки - номера колонок встают по порядку от 1 до 9 , а не так как было задано. Уточню, что номера колонок были заданы в разброс.
Какие действия надо предпринять, чтобы нумерация сохранилась?

Прикрепленные файлы:

Вариант настроек при сохранении.png
Вариант настроек при загрузке.png
# Ответить
54. sstas007 (файл скачал) 11.08.2015 13:02
Отличная обработка, но в Веб-режиме выдает ошибку. Подскажите куда копать.

Прикрепленные файлы:

ошибка УФ.jpg
# Ответить
55. tsifra@inbox.ru (файл скачал) 18.09.2015 10:46
(51) proal, Здравствуйте,

Только что скачал данный скрипт. Выдается ошибка "Возможно неверное указан номер листа книги Excel". Ваш совет про добавить пустые листы видел. Но это не помогает. Не подскажете в какую сторону думать? Не могли бы вы выложить куда-то экселевский файл, который "подхватывается".
# Ответить
56. A.Belash (файл скачал) 07.12.2015 17:55
Обработка не преобразовывает значения ячеек к типу "Число".
Также не преобразовывает в число "ТекстЯчейки".
Преобразование получилось только таким способом: Результат = ЧИСЛО(ТекстыЯчеек[5])
Проверял только для импорта ТЧ "Товары" документа "Установка цен номенклатуры" в УТ11.
В целом отличная обработка!
# Ответить
57. 1801 13.01.2016 16:32
Добрый день!

Суть проблемы - эта обработка (как и подобные стандартные) при загрузке в табличную часть документа каждый раз заново заполняет и перезаписывает эту табличную часть. Но часто требуется в уже имеющейся табличной части залить только один столбец, при этом не удаляя и не изменяя ранее заполненные данные.

Вопрос - можно ли доработать обработку так, что-бы был выбор (галка) перезаписывать всю табличную часть или только замещать данные в указанном столбце?

Пример: в документе "Поступление товаров и услуг", который заполнен на основании документа "Заказ поставщику", нужно исправить только колонку с количеством поступившего товара. В процессе обработка ищет в уже заполненной табличной части по реквизиту "Код номенклатуры поставщика" соответствующую строку табличной части и замещает данные в колонке "Количество".
Ответили: (58)
# Ответить
58. proal 05.02.2016 10:50
(57) 1801, Задачка в целом интересная, просто мне не встречалась. Насчет доработать - ничего пока сказать не могу, на работе завал.
Но когда разгребусь - то подумаю над её решением.
# Ответить
59. DC (файл скачал) 05.02.2016 15:33
{Форма.Форма.Форма(5104)}: Ошибка при вызове метода контекста (ЗапуститьПриложение)
ЗапуститьПриложение("http://it-titan.ru/index.php?id=4");
по причине:
Использование синхронных методов на клиенте запрещено!

{Форма.Форма.Форма(4157)}: Ошибка при вызове метода контекста (Выбрать)
Если ДиалогВыбораФайла.Выбрать() Тогда
по причине:
Использование синхронных методов на клиенте запрещено!



Я так понимаю, до конца от модальности так и не избавились).. Плюс отменять не буду, исправте пожалуйста... В свое время то же наваял подобное, для обычных форм... В справочники хорошо бы добавить возможность загрузки Групп - такое нередеко бывает и добавить ПланыВидовХарактеристик... Да и вообще хорошо бы уметь грузить в любые объекты)
# Ответить
60. Alkemist 30.03.2016 11:52
Добрый день.
Столкнулся со следующей проблемой.
Загружаю в табличную часть "ПоступлениеТоваровУслуг"
Созданный документ видит, данные из него подгружает
Добавляю новые данные. Проверку заполнения проходит нормально.

При загрузке выдает следующую ошибку:

Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Документ.УстановкаЦенНоменклатуры.МодульОбъекта(62)}: Поле объекта недоступно для записи (ЭтотОбъект)

Так происходит при записи и в любой другой документ (((
# Ответить
61. bazhalex 04.04.2016 11:05
При загрузке в 1С Розница 2.2 отчет розничных продаж не загружается количество
# Ответить
62. user595924_fedor_zaycev (файл скачал) 14.08.2016 08:49
Не запускается 1С:Предприятие 8.2 (8.2.19.130) "Управление торговым предприятием для Украины", редакция 1.2. Очень жалко...
# Ответить
63. reshenie (файл скачал) 24.08.2016 00:01
на конфигурации 1С:Розница 8. базовая версия. ред.2.2.2.15 не работает. Сначала выдает ошибку, а потом вешает программу.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл