Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/57: Рейтинг темы: голосов - 57, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
1
1C 8.x

Не могу победить "ЗагрузкаДанныхИзТабличногоДокумента.епф"?

25.11.2013, 16:51. Показов 10966. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем. Заранее извиняюсь если задам глупые или смешные вопросы. Просто раньше никогда с 1с не сталкивался, а сейчас поставили задачу выгрузить в 1С Предприятие 8.3 Управление торговлей 11.1 номенклатуру из excel файла. Погуглил - покурил самое простой выход нашел это делать через этот файл ЗагрузкаДанныхИзТабличногоДокумента.epf. И вроде все понятно описано но делаю как написано и выдает ошибки по все наименованиям и ничего не заносит в 1с. Прикрепленный файл 3 это тестовая таблица которую пытаюсь выгрузить. Это не окончательные данные там еще пудут пути к картинкам и характеристики вес, вкус, и т.п. Пока пытаюсь хотя бы выгрузить наименование, артикул, бренд и описание. В настройках ввожу все эти поля, ставлю поиск, ставлю номера столбцов. Нажимаю запустить он проходит по всем товарам и пишет что то вроде "Ошибка в ПередЗапись в строке 123. Не определено рабочее название товара (или номенклатуры не помню)...Что это значит? И еще вопрос к знатокам, см. в файле 2 выделенное. Где найти эти группы номенклатуры? То есть интересует вопрос: в обработчике "ЗагрузкаДанныхИзТабличногоДокумента.epf" в настройках нету занести такой то столбец в группу номенклатуры записываемого товара. Как это можно сделать? Если нужно больше информации пишите что нужно я выложу. Всем откликнувшимся заранее благодарен.
Миниатюры
Не могу победить "ЗагрузкаДанныхИзТабличногоДокумента.епф"?   Не могу победить "ЗагрузкаДанныхИзТабличногоДокумента.епф"?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 16:51
Ответы с готовыми решениями:

Не могу победить автозаполнение штрихкодами
Подскажите, в обработке ПечатьЭтикетокИЦенников пытаюсь сделать автоматическую установку штрихкодов...

ЗагрузкаДанныхИзТабличногоДокумента
Всем привет. Имеем: 1С 8.3 (почти последняя платформа) и УТ 10.3 (к сожалению корректированная под...

Не могу победить битрикс. Выгрузка
Люди добрые подскажите пожалуйста.. имеется УТ11,3 с битриксом. Когда выгружаю на сайт товары с...

ЗагрузкаДанныхИзТабличногоДокумента.epf
У меня нет пункта "Операции-Обработки-Загрузка данных из табличного документа" и для того чтобы он...

20
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
26.11.2013, 07:32  [ТС] 2
Вот такую ошибку пишет:
Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Справочник.Номенклатура.МодульОбъекта(138)}: Значение поля "Рабочее наименование" не уникально
Объект не загружен. Элемент справочника: Масло сладкосливочное Крестьянское 72,5% 0,18кг.

Добавлено через 22 секунды
Никто не сталкивался?
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
26.11.2013, 17:22 3
Ну, это кто-то допиливал. Его надо заполнять наименованием, очевидно. Не помню, можно ли связать одну ячейку с двумя реквами, но кнопка "события..." позволит заполнить перед записью, что-то вроде
1C
1
Объект.РабочееНаименование=Объект.Наименование
1
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
26.11.2013, 17:57  [ТС] 4
duk337 спасибо, если еще будет такая ошибка попробую. Выличил полным удалением базы товаров, хотя в программе ставил ИСКАТЬ. Сейчас над ругой проблемой голову ломаю как добавить фотографии. Инфы по этой теме вообще найти не могу. В ячейках прописывал пути к фоткам, просто фотки все равно не видит их. Еще не получается бренды и производителей добавить не знаете как это сделать? Особенно фотки понять не могу как.
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
26.11.2013, 18:49 5
Должен быть рекв типа ХранилищеЗначения.
1C
1
2
ВыбранноеИзображение = Новый Картинка(ПолноеИмяФайла, Ложь);
Объект.Хранилище = Новый ХранилищеЗначения(ВыбранноеИзображение, Новый СжатиеДанных);
примерно такое заклинание.
Чтоб добавить производителя, надо сначала его создать в справочнике производителей
А бренды в каком виде?
1
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
27.11.2013, 14:13  [ТС] 6
В общем, до этого был убежден что 1С кривая система, теперь уж меня в этом никто не переубедит...) Что бы просто загрузить данные в базу нужно начинать учиться программировать в 1С. Почему нельзя сделать простой и понятный интерфейс для загрузки данных!?! Бренды так же в ексели в таблице. То есть сперва нужно справочник производителя заполнить а потом поставить поиск и он из справочника будет к товарам добавлять? И еще не понятно в твоем коде где и в каком виде указаны пути к картинкам?

Добавлено через 48 секунд
И еще раз низкий поклон за потраченное на меня время.

Добавлено через 16 часов 42 минуты
duk337 еще можете помочь пожалуйста. В строчке файл картинки выбрал "вычислять", в редакторе формы выражения написал следующее:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
НомерСтолбцаИзображение = 11;
НомерСтолбцаОписаниеИзображение = 3;
 
ЗапросСуществующих = Новый Запрс();
ЗапросСуществующих.Текст = "
|ВЫБРАТЬ
|   ХранилищеДополнительнойИнформации.Ссылка
|ИЗ
|   Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
|ГДЕ
|   ХранилищеДополнительнойИнформации.Объект = &Объект
|   И ХранилищеДополнительнойИнформации.Наименование = &Наименование";
 
Объект.Записать();
ФайлКартинки = Новый Файл(СокрЛП(ТекстыЯчеек[НомерСтолбцаИзображение]));
Предупреждение(ФайлКартинки.Существует());
Если ФайлКартинки.Существует() Тогда
    Предупреждение ("!");
    ЗапрсСуществующих.УстановитьПараметр ("Объект", Объект.Ссылка);
    ЗапрсСуществующих.УстановитьПараметр ("Наименование", СокрЛП(ТекстыЯчеек[НомерСтолбцаОписаниеИзображение]));
    Выборка = ЗапросСуществующих.Выполнить().Выбрать();
    Если Выборка.Количество() <= 0 Тогда
        Предупреждение ("!");
        ХранилищеОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
        ХранилищеОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
        ХранилищеОбъект.Хранилище = новый ХранилищеЗначения(Новый Картинка(ТекстыЯчеек[НомерСтолбцаИзображение]);
        ХранилищеОбъект.Объект = Объект.Ссылка;
        ХранилищеОбъект.Наименование = СокрЛП(ТекстыЯчеек[НомерСтолбцаОписаниеИзображение]);
        ХранилищеОбъект.ИмяФайла = ТекстыЯчеек[НомерСтолбцаИзображение]
        ХранилищеОбъект.Записать();
        Объект.ОсновноеИзображение = ХранилищеОбъект.Ссылка;
    КонецЕсли;
КонецЕсли;
При запуске выдает ошибки:
Ошибка компиляции при вычислении выражения или выполнении фрагмента кода: {(4,28)}: Тип не определен (Запрс)
Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Справочник.Номенклатура.МодульОбъекта(123)}: Поле "Рабочее наименование" не заполнено
Объект не загружен. Элемент справочника: <>.
Это, я так понимаю, та ошибка про которую лекарство от которой вы мне в 3 посте написали? Для меня вопрос куда вышу строчку в коде вставить?

Добавлено через 1 минуту
P.S. Код нашел в интернете...
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
27.11.2013, 15:21 7
Не "Запрс", а "Запрос"
1
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
27.11.2013, 16:07  [ТС] 8
спс! так то даже логично)

Добавлено через 47 секунд
а это?
Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Справочник.Номенклатура.МодульОбъекта(123)}: Поле "Рабочее наименование" не заполнено
0
286 / 186 / 18
Регистрация: 20.02.2012
Сообщений: 925
27.11.2013, 16:37 9
Цитата Сообщение от ptand Посмотреть сообщение
Поле "Рабочее наименование" не заполнено
поле пустое =) Проверить что туда записывается и что должно
1
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
28.11.2013, 11:02  [ТС] 10
Кто нибудь может мне помочь разобраться в этом за небольшую оплату?
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
28.11.2013, 21:59 11
Так напишите во фриланс. Здесь в основном советы и ответы.
0
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
03.12.2013, 13:22  [ТС] 12
duk337,
Пишу ваш код
НомерСтолбцаИзображение = 5;

ВыбранноеИзображение = Новый Картинка(СокрЛП(ТекстЯчейки[НомерСтолбцаИзображение]), Ложь);
ЭтотОбъект.Хранилище = Новый ХранилищеЗначения(ВыбранноеИзображение, Новый СжатиеДанных);
выдает ошибку "Получение элемента по индексу для значения не определено"
Не подскажите как лечить?

Добавлено через 2 минуты
Пробовал писать без [] (жение = Новый Картинка(СокрЛП(ТекстЯчейки), Ложь);
выдает ошибку "Поле объекта не обнаружено (Хранилище)"
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
03.12.2013, 17:38 13
Цитата Сообщение от ptand Посмотреть сообщение
Пишу ваш код
НомерСтолбцаИзображение = 5;
Это не мой код. Я намекнул программным текстом на принцип хранения изображений в базе. Дальше, вообще-то, открывается синт.пом. по логике... У вас картинки из Ёкселя в таб.док. по обработке не попадут. Они у Вас в каком виде, вообще?
0
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
03.12.2013, 17:45  [ТС] 14
В jpg, в екселе записываю пути к ним C:\images\*.jpg
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
03.12.2013, 17:54 15
Это в приведённом мною коде ПолноеИмяФайла

Добавлено через 33 секунды
А Хранилище - это реквизит объекта типа ХранилищеЗначений
0
0 / 0 / 0
Регистрация: 25.11.2013
Сообщений: 9
03.12.2013, 18:36  [ТС] 16
Ну я и записываю ПолноеИмяФайла у меня ТекстЯчейки[НомерСтолбцаИзображение] А как туда записать саму картинку? в ексели я могу указать только путь к ней... "У вас картинки из Ёкселя в таб.док. по обработке не попадут" Как их тогда туда вообще записывать? и зачем в обработке запись картинок есть? Но это уже не к вам а к разработчикам наверное..
П.С. Если вам не сложно напишите что я делаю не так и что изменить нужно, я, правда, так уже намучился с этими картинками...
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
03.12.2013, 20:57 17
Цитата Сообщение от ptand Посмотреть сообщение
ТекстЯчейки[НомерСтолбцаИзображение]
это бредятина. Сами выдумали? Из ячейки ёкселя вы достаёте стринг с именем файла. Далее по тексту (засовываете файл в хранилище через реквизит объекта)
0
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
10.01.2015, 00:59 18
Кто вообще придумал 1С
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
10.01.2015, 11:03 19
А чо некропостим?
Заводи тему в разделе холиваров. А здесь критиков есть, конечно, но профессионалов, с мотивацией и доказательствами.
0
Модератор
Эксперт 1С
3784 / 2964 / 589
Регистрация: 10.03.2011
Сообщений: 11,669
Записей в блоге: 1
11.01.2015, 01:12 20
Цитата Сообщение от Yury Komar Посмотреть сообщение
Кто вообще придумал 1С
.NET Programmer'ы !
0
11.01.2015, 01:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2015, 01:12
Помогаю со студенческими работами здесь

Не могу победить!
в интернете таких проблем немало! антивирусы не определяют проблему! то открывается новое окно...

Не могу победить switch
Всем привет. Сильно не ругайтесь на форуме впервые. Решил освоить C++. Смотрю уроки читаю....

Не могу победить JScrollPane
И так, все что нужно: добавить JPanel на JScrollPane, А JScrollPane в свою очередь на JFrame, и...

Не могу победить listview
Добрый день, помогите новичку в wpf. имеется ступенчатый массив вида data получаемые данные из...

Вирус не могу победить
Люди помогите плз подхватил вирус подменяет DNC даже на adwcleaner не мог зайти скачал из других...

Не могу победить вирус,
Всем здрасьте.Не могу победить вирус.Вот логи,на сайты антивирусов не заходит.В деспетчере задачь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru