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

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

Обмен - Загрузка и выгрузка в Excel

загрузка данных управляемый режим управляемые формы тонкий клиент

135
Обработка загрузки данных из табличного документа на основе стандартной от 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 - теперь в настройках этой версии обработки тоже сохраняются номера колонок. Ранее сохраненные настройки необходимо открыть, проставить номера колонок и сохранить заново. При последующем открытии номера колонок восстановятся.

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

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

 

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

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

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

 

135

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

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

См. также

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

Комментарии
Избранное Подписка Сортировка: Древо
1. gull22 86 02.04.14 14:07 Сейчас в теме
Проверил на Итилиум. Работает. Желательно добавить заголовки у табличной части. А то при проверке сообщает номер ячейки с ошибкой, а среди 1500 строки искать 1235-ю трудновато.
Было бы еще добавить возможность правки в самой ячейке.
2. qwinter 586 03.04.14 22:17 Сейчас в теме
А я свой перевод данной обработки на УФ все никак не дошлифую))
3. qwinter 586 03.04.14 22:28 Сейчас в теме
если в форме элемент ТаблицаЗагружаемыхРеквизитовЗначениеПоУмолчанию связать по типу с описанием типов, то будет нормальный выбор значений по умолчанию.
4. AleksSF 181 09.04.14 09:47 Сейчас в теме
В функциях описания событий определенных пользователем используется предопределенная переменная Объект.
И возникает неоднозначность, желательно ее изменить на например ТекОбъект.
А так +.
5. AlexanderP 30 10.04.14 11:14 Сейчас в теме
Отличная вещь, спасибо!
Правда, с настройками не получилось. Сохранил в mxlz, выбираю тип документа, загружаю настройки, документ - настройки слетают. И наоборот, если сначала настройки, то документ слетает.
Не знаю, стоит ли при выборе документа считывать его ТЧ - если не нужно, то приходится зря ждать для больших непустых ТЧ
6. TitanLuchs 98 11.04.14 16:53 Сейчас в теме
Давно пора было кому-то это написать. Сам юзаю загрузку из табличного документа года с 2008, но до написания универсальной обработки так и не добрался...
7. alean 35 17.04.14 16:32 Сейчас в теме
почему бы не использовать типовую, запустив отладку в обычном приложении?
хотя...
вот к примеру типовая не умеет грузить в тч справочников.
8. ext23 22.04.14 02:17 Сейчас в теме
9. ben_art 13 12.05.14 13:37 Сейчас в теме
Подскажите , как в список регистров сведений добавить периодичные
10. qwinter 586 12.05.14 23:36 Сейчас в теме
(9) ben_art, так там переодические и так же есть?
13. ben_art 13 19.05.14 17:59 Сейчас в теме
(10) qwinter, Прошу прощения , я имел ввиду как добавить регистры с регистратором
14. qwinter 586 19.05.14 21:09 Сейчас в теме
(13) ben_art, можете посмотреть как это реализовано тут http://infostart.ru/public/21890/ , ничего сложного нет.
11. Stety 148 14.05.14 12:13 Сейчас в теме
Спасибо, нужная и актуальная вещь. :)
12. ben_art 13 19.05.14 17:58 Сейчас в теме
а не планируется ли добавить возможность сохранения настроек ?
15. gavlexx 37 04.06.14 01:49 Сейчас в теме
Не получается открыть обработку в веб-интерфейсе (конфигурация УТ3 для Украины). При открытии пишет "{(2267,20)}": Переменная не определена (КодировкаXBase)
16. Algiz 24.06.14 23:01 Сейчас в теме
17. MaksS 11 30.06.14 12:54 Сейчас в теме
Спасибо, как раз нужна загрузка табличной части справочников в УП.
18. Sintson 354 10.08.14 23:25 Сейчас в теме
Спасибо за обработку, то что надо, завтра опробую!
19. ron1 16.08.14 00:25 Сейчас в теме
Спасибо за обработку. Загрузила курс у.е. за год без проблем за 1 минуту.
20. Atow 10 26.08.14 16:04 Сейчас в теме
Спасибо за обработку!
Есть проблемка: вывела она 10 тыс. предупреждений при контроле заполнения. Переключился в другое окно, поправил данные, вернулся в окно обработки, а оно "повисло". И бегунок на списке сообщений уменьшается - видимо, повторно сообщения отображает.
Ну, подождал минут 20 - не отвисло.
Если сообщения в отдельную закладку обработки выводить, это может улучшить ситуацию?
21. qwinter 586 26.08.14 20:28 Сейчас в теме
(20) Atow, это стандартное поведение управляемых форм. Просто привыкните к этому.
22. Atow 10 27.08.14 10:42 Сейчас в теме
(21) qwinter, Дело не в привычке, а в том, что обработка, переделанная на УФ неюзабельна в ряде случаев.
Я и предложил добавить закладку на форму и выводить логи в табличный документ на форме. Ну или в список какой-нить.
Возможно, это было бы более правильно для УФ.
23. proal 196 27.08.14 11:36 Сейчас в теме
(22) Atow, На таких больших объемах данных не пробовал. Поэтому не могу сказать, поможет или нет.
На днях протестирую, напишу.
24. zoytsa 04.09.14 06:33 Сейчас в теме
Спасибо! Отличная работа!
25. cbr900 154 08.09.14 02:53 Сейчас в теме
А почему не сохраняются нумерация колонок при загрузке настроек
28. proal 196 11.09.14 10:25 Сейчас в теме
(25) cbr900, Можно поподробнее?
Например, я на закладке "Настройка" включил ручную нумерацию колонок, поставил номера колонок для каких-либо реквизитов, сохранил настройки, переоткрыл обработку, открыл настройки - номера колонок встали как надо.
Какие действия надо предпринять, чтобы нумерация колонок сбилась?
26. Polkaver 11.09.14 13:46 Сейчас в теме
При запущенном конфигураторе обработка выдает ошибку

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

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

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

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

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

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

Штука в том, что обработка обрабатывает всю строку, считывает все значения, которые отмечены как обрабатываемые на закладке "Настройка", и вгружает их в объект. Поэтому и надо считывать значения из существующей номенклатуры, чтобы не затереть их другими значениями.
31. елена777 13 17.10.14 08:21 Сейчас в теме
Спасибо за обработку! Очень пригодилась!
32. PVG_73 17 23.10.14 14:41 Сейчас в теме
Спасибо! Очень пригодилась.
34. ketr 93 03.12.14 14:51 Сейчас в теме
Подскажите пожалуйста, а почему при загрузке в табличную часть я не могу выбрать справочник номенклатуры?
У него же в УФ есть табличная часть "ДополнительныеРеквизиты"
35. Sabfir 05.12.14 00:52 Сейчас в теме
Здравствуйте!
Под 8.3 с установленным свойством конфигурации
"Режим использования модальности" = Не использовать
кто-то запускал? Работает?
36. profisasha 2 08.12.14 10:09 Сейчас в теме
(35) Sabfir, Не работает. Необходимо избавится от модальных окон, в частности от Предупреждение И Вопрос.
Как один из примеров статья от 1с http://v8.1c.ru/o7/201312ref/index.htm
37. proal 196 08.12.14 13:22 Сейчас в теме
(35) Sabfir, добавил второй файл - переработанная обработка для режима использования модальности "Не использовать".
И спасибо (36) Profisasha.
38. ToJIuK 18.12.14 21:53 Сейчас в теме
Очень хотелось бы уточнить . Если ли возможность сохранить настройки формы с последующим восстановление . У меня что то не получается. нумерация Колонок сбрасывется.
40. qwinter 586 04.01.15 12:01 Сейчас в теме
(38) ToJIuK, в данной обработке нет.
39. PYCTAM 27.12.14 15:52 Сейчас в теме
метод объекта не обнаружен сведения о внешней обработке
41. carey 10.02.15 20:36 Сейчас в теме
Добрый вечер!
При загрузке выдает ошибку - Ошибка. Возможно неверно указан номер листа книги Excel.

в исходном файле номер листа - Лист1
50. yellowheel 13.04.15 15:28 Сейчас в теме
(41) carey, у меня та же проблема,в с ней разобрались?
51. proal 196 15.04.15 07:55 Сейчас в теме
(50) yellowheel, Добрый день.
А перед сообщением об ошибке появляется сообщение "Обработка файла Microsoft Excel..." ?
Если нет, тогда ошибка возникла ещё при открытии файла. Может быть слишком длинный путь до файла, попробуйте перекинуть его в папку C:\Temp, например.
Если да, то ошибка возникла при попытке выбрать первый лист книги. Что-то не так с самой книгой Excel, попробуйте в файле добавить пустой лист _после_ листа с данными, сохранить и ещё раз загрузить.
53. KristinaKometa 16.06.15 08:38 Сейчас в теме
(51) proal, Наверное повторю вопрос. Однако проблема возникает. Например, я на закладке "Настройка" включила ручную нумерацию колонок, поставила номера колонок для каких-либо реквизитов, сохранила настройки, переоткрыла обработку, открыла настройки - номера колонок встают по порядку от 1 до 9 , а не так как было задано. Уточню, что номера колонок были заданы в разброс.
Какие действия надо предпринять, чтобы нумерация сохранилась?
Прикрепленные файлы:
55. tsifra@inbox.ru 18.09.15 10:46 Сейчас в теме
(51) proal, Здравствуйте,

Только что скачал данный скрипт. Выдается ошибка "Возможно неверное указан номер листа книги Excel". Ваш совет про добавить пустые листы видел. Но это не помогает. Не подскажете в какую сторону думать? Не могли бы вы выложить куда-то экселевский файл, который "подхватывается".
42. layout 27.02.15 20:17 Сейчас в теме
Подскажите, пожалуйста, а как можно загрузить данные в справочник, если у его элемента, помимо реквизитов, 3 табличные части, в которых может быть много строк? Можно как-то настроить автоматическую загрузку, не указывая каждый раз вручную к какому справочнику относится данная табличная часть. В поточной загрузке можно добавлять табличные части, но куда там вставлять данные для загрузки?
43. proal 196 02.03.15 13:45 Сейчас в теме
(42) layout,
В этой обработке такого нет :(
44. OldmenInfo 5 18.03.15 11:52 Сейчас в теме
В модулях обработок нет стандартных процедур для размещения в справочнике дополнительных отчетов обработок, немножко неудобно
45. 9830035 02.04.15 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. proal 196 08.04.15 13:29 Сейчас в теме
(45) 9830035,
Добрый день.
Я думаю, вы уже разобрались с проблемой, если же нет, то у меня вопрос:
На последней картинке ругается на пустое значение в поле "Вариант оформления продажи".
При этом на второй картинке (там где закладка Настройка) есть строка с этим полем, и флажок в этой строке выключен.
Т.е. поле не загружается.
Вопрос - Почему флажок не включен? Ведь если загружается новая номенклатура, очевидно что это поле надо заполнять.
46. Morffinius 07.04.15 14:33 Сейчас в теме
Доброго дня, скачал оьработку все супер, только с одним вопросом не могу разобраться, гружу табличную часть в документ поступление товаров и услуг в бухгалтерии 3.0 товары цены количество, все грузит, а вот с номерами гтд возникает проблема пишет объект не найден, забыл сказать для обработки гтд свои настройки если по списку не находит, то в справочник выписывает, а вот в документ пишет объект не найден. В чем может быть проблема, подскадите.
48. proal 196 08.04.15 13:32 Сейчас в теме
(46) Morffinius, Добрый день.
Я так понимаю, что элементы справочника ГТД вы создаете алгоритмом при загрузке.
А вы точно потом присваиваете Ссылку от созданного элемента? Не пытаетесь записать в документ сам объект?

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

если же идет такое присваивание:
СтрокаДокумента.НомерГТД = ОбъектСправочника; - тут слева требуется ссылка, а справа объект. Не сработает.
49. Morffinius 08.04.15 19:40 Сейчас в теме
(48) proal, Доброго дня proal, с программным кодом пока не силен, постараюсь объяснить на пальцах, в основной настройке указываю в поле гтд записывать, ссылка на настройка 1 номера ГТД, в настройке гтд ставлю искать указываю номер колонки ставлю галочку поле для поиска.
52. AlexandraSerg 20 28.04.15 16:27 Сейчас в теме
Спасибо большое! все отлично работает на бухгалтерии 3.0.39.65
54. sstas007 118 11.08.15 13:02 Сейчас в теме
Отличная обработка, но в Веб-режиме выдает ошибку. Подскажите куда копать.
Прикрепленные файлы:
56. A.Belash 9 07.12.15 17:55 Сейчас в теме
Обработка не преобразовывает значения ячеек к типу "Число".
Также не преобразовывает в число "ТекстЯчейки".
Преобразование получилось только таким способом: Результат = ЧИСЛО(ТекстыЯчеек[5])
Проверял только для импорта ТЧ "Товары" документа "Установка цен номенклатуры" в УТ11.
В целом отличная обработка!
57. 1801 13.01.16 16:32 Сейчас в теме
Добрый день!

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

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

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

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



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

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

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

Так происходит при записи и в любой другой документ (((
61. bazhalex 04.04.16 11:05 Сейчас в теме
При загрузке в 1С Розница 2.2 отчет розничных продаж не загружается количество
user655307_uspeh092014; +1 Ответить
62. user595924_fedor_zaycev 14.08.16 08:49 Сейчас в теме
Не запускается 1С:Предприятие 8.2 (8.2.19.130) "Управление торговым предприятием для Украины", редакция 1.2. Очень жалко...
63. reshenie 244 24.08.16 00:01 Сейчас в теме
на конфигурации 1С:Розница 8. базовая версия. ред.2.2.2.15 не работает. Сначала выдает ошибку, а потом вешает программу.
64. zaia 11 10.02.17 15:18 Сейчас в теме
Спасибо большое, очень помогло! Загрузил серийники для ОС в БП 3
65. 7OH 33 16.02.17 14:11 Сейчас в теме
А можно добавить загрузку и документ ?
В табличную часть не совсем то - нужно именно в шапку загрузить\изменить.
66. dj_serega 365 04.09.17 14:09 Сейчас в теме
Спасибо за обработку.
Я бы состояние добавил на основные кнопки.

А то нажал, и непонятно, работает или нет. Ну и когда закончилось не ясно :(
Прикрепленные файлы:
67. CheBurator 3386 08.12.18 21:44 Сейчас в теме
Как абсолютно невосьмерочник - попробовал данной обработкой перенести простейшие справочники из 7.7
вроде как все в целом получилось
но
ожидал, что будет какая-то возможность указать, типа "колонка табличных данных "Артикул" соответствует реквизиту (загружаемого справочника) "Номенклатура" - но навскидку такого не нашел... Есть такая возможность?

и как вообще колонки табличного документа сопоставляются с реквизитами загружаемого справочника..?
71. proal 196 14.12.18 05:37 Сейчас в теме
(67) На закладке "Настройка" есть кнопка "Нумерация колонок" - там нужно выбрать пункт "Ручная нумерация колонок табличного документа".
И тогда в таблице настройки появится дополнительная колонка. В которой можно будет указать номер колонки, из которой брать данные для реквизита. Для всех реквизитов, для которых включена "Пометка", номер колонки должен быть указан ( <> 0 ).
72. CheBurator 3386 19.12.18 20:20 Сейчас в теме
68. CheBurator 3386 08.12.18 23:38 Сейчас в теме
хм.. на картинках вроде есть "номер колонки"...
возможно, я проглядел? или такого параметра нет при загрузке в регистр сведений?
69. CheBurator 3386 08.12.18 23:39 Сейчас в теме
При выборе загрузки в регистр сведений - при нажатии на кнопку "события" - выдает ошибку.
70. CheBurator 3386 08.12.18 23:40 Сейчас в теме
Усовершенствованный вариант этой обработки https://infostart.ru/public/281544/
- сохранение/восстановление настроек,
- загрузка плана счетов,
- загрузка реквизитов объектов типа ПВХ
73. request4t 07.04.19 18:24 Сейчас в теме
Пытаюсь загрузить данные в док "Установка цен". Все ок, только не получается с характеристиками. Для вида товара они общие. Справочник "Характеристики" подчинен справочнику "Виды номенклатуры". Реквизит "условие связи" = Искать по Наименование по владельцу Справочник.ВидыНоменклатуры. При загрузке получаю ошибку "Задано неверное имя атрибута структуры".
74. proal 196 09.04.19 08:24 Сейчас в теме
(73)
Такие сложные случаи не пробовал. Запускаете в конфигурации УТ? Может, вам попробовать с выполнением произвольного кода?
75. Nefilimus 27 21.05.19 21:14 Сейчас в теме
Скачивали эту обработку давно. Очень полезная для интегратора и программиста. советую всем!
Оставьте свое сообщение