[РЕШЕНО] Загрузка данных из табличного документа

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем StarAV, 7 июл 2010.

  1. TopicStarter Overlay
    StarAV
    Offline

    StarAV

    Регистрация:
    7 июл 2010
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуйста, есть ли примеры работы с этим режимом для этой обработки или документация какая-нить?
    Допустим, как с условием работать? Как сделать так, чтобы Родитель номенклатуры сам записывался, если его нет в списке?
    Или Основное изображение можно загружать... Как?
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Мда, вопрос не понятен
    1. Изъясняйтесь пожалуйста более корректней.
    2. Правило форума 1 вопрос 1 тема.
    :unsure:
  3. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, подскажите новичку.
    Загрузил номенклатуру, вторым этапом загружаю (пытаюсь загрузить) единицы для отчетов в регулярном выражении вписываю:

    Код:
    СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекущиеДанные["Артикул"]);
    БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[8]);
    ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры);
    Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения);
    НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;
    НайденнаяЕдиницаОбъект.Коэффициент = 1;
    НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;
    Попытка НайденнаяЕдиницаОбъект.Записать();
    Результат = НайденнаяЕдиницаОбъект.Ссылка;
    Исключение Сообщить("Не удалось записать");
    КонецПопытки; Иначе Результат =ТекСпр.Ссылка;
    КонецЕсли;
    Соответственно в 8-ой ячейке (столбце) загружаемого файла стоит предварительно записанные варианты (шт, упак, и.т.д)
    И все записывается ok!
    А вот что необходимо прописать после: НайденнаяЕдиницаОбъект.Коэффициент =
    что бы записывало не 1, а значение из 7-ой ячейки загружаегомого файла?
    Последнее редактирование модератором: 13 фев 2015
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Ну по сути то же самое :), брать значение из 7-ой ячейки :)
  5. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    В этом и вопрос, как оттуда взять? Что нужно прописать?
    Я не силен в написании кода, только начинаю учиться.
    Пробовал
    НайденнаяЕдиницаОбъект.Коэффициент =Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[7]);
    и так,
    НайденнаяЕдиницаОбъект.Коэффициент =(ТекстыЯчеек[7]);
    И ничего.
  6. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Что, форум совсем мертвый, и ни кто не поможет?
  7. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    скрин обработки покажите, чтоб вам показать
  8. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Вот скрин, что делаю не так?
    --- Объединение сообщений, 15 фев 2015 ---
    На скрине не настроены колонки, сделал на скорую руку

    Вложения:

  9. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    там кроме "искать" и "вычислять" есть "устанавливать"
  10. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Да это понятно, если ставить устанавдивать, то должно выбиратся конкретное значение, и нельзя вписать регулярное выражение, а мне необходимо что бы данные брались из файла excel т.к. на каждый товар коэффициент разный!!!
  11. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    и кстати, вот ваше решение практически
    лежит спокойно в инете
    спросите у поисковика (прямо с кавычками)
    "Загрузка в 1C из Excel"
    и результат на сайте 1c-setup
    --- Объединение сообщений, 15 фев 2015 ---
    ну так они у вас в файле и прописаны же уже за каждым товаром?
    --- Объединение сообщений, 15 фев 2015 ---
    скрин на закладке "табличный документ"
  12. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    а не могли бы без загадок? где конкретно лежит решение.
    Буду премного благодарен.
    --- Объединение сообщений, 15 фев 2015 ---
    если вы про эту ссылку 1c-setup.ru/stati-1s/zagruzka-dannykh-v-spravochnik-nomenklatura-iz-prajs-lista-excel.html
    то здесь нет решения моей задачи
    --- Объединение сообщений, 15 фев 2015 ---
    Если умеете программировать, не ужели так трудно подсказать новичку строчку кода???

    прямые ссылки не используйте
    Последнее редактирование модератором: 16 фев 2015
  13. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    [​IMG]
    Здесь видим что не хватает обязательных для заполнения полей: единицы хранения остатков и единицы для отчетов. Мы загрузим их следующим этапом.

    Если все загрузилось в соответствии с настройками то мы можем сохранить настройки в файл, чтобы в следующий раз не производить настройку заново.Нажимаем значок сохранить во вкладке Настройка:
    --- Объединение сообщений, 15 фев 2015 ---
    второй скрин покажите
  14. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Мы с вами говорим про разные вещи.
    Единица хранения указывает (упак, шт, рулон и.т.д), и с этим все впорядке, все нормально загружается,
    а я ищю решение при которм сразу будет записываться не только Еденица хранения,
    но и КОЭФФИЦИЕНТ единицы хранения указанный в загружаемом файле excel
  15. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    где скрин то? закладки "табличный документ"

    PS
    переносил номенклатуру из 7.7 нетиповой в УТ11
    ничего не кодил в ней, с одного файла загружена номенклатура, ШК и цены в табличные части документов установки цен номенклатуры
    --- Объединение сообщений, 15 фев 2015 ---
    Код:
    Артикул:
    
    Ставим галочку поле поиска.
    
    Режим загрузки - Искать
    
    № Колонки табличного документа - 4 (ставите свое значение)
    
    Единица хранения остатков:
    
    Режим загрузки - Вычислять
    
    В поле выражение вставляем код на встроенном языке программирования 1С:
    
    СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекущиеДанные["Артикул"]);
    
    БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[6]);
    ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры);
    Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения);
    НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;
    НайденнаяЕдиницаОбъект.Коэффициент = 1;
    НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;
    Попытка НайденнаяЕдиницаОбъект.Записать();
    Результат = НайденнаяЕдиницаОбъект.Ссылка;
    Исключение Сообщить("Не удалось записать");
    КонецПопытки; Иначе Результат =ТекСпр.Ссылка;
    КонецЕсли;
    
    Далее Единица для отчетов аналогично Единице хранения остатков.
    --- Объединение сообщений, 15 фев 2015 ---
    это хотите сказать не ваш вариант?
    Последнее редактирование: 15 фев 2015
  16. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Вот скрин, при загрузке необходимо что бы значение коэффициента едениц записывался из 7-ой колонки
    --- Объединение сообщений, 15 фев 2015 ---
    К вышеописанному коду, могу сказать, что это как раз тот вариан который и использую, но при этом как вы видите в нем используется
    НайденнаяЕдиницаОбъект.Коэффициент = 1;
    А мне необходимо значение КОЭФФИЦИЕНТ из 7 ячейки загружаегомого файла.

    Вложения:

    • Скрин2.JPG
      Скрин2.JPG
      Размер файла:
      257,9 КБ
      Просмотров:
      24
    Последнее редактирование: 15 фев 2015
  17. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    у вас на скринах настроки и содержимое файла не совпадают по колонкам
  18. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Да я же написал,что первый скрин сделал на скорую руку, при экспорте ставятся значения колонок 5,8,7
    --- Объединение сообщений, 15 фев 2015 ---
    Прошу прощения 5,8,6
    --- Объединение сообщений, 15 фев 2015 ---
    СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", ТекущиеДанные["Артикул"]);
    БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ТекстыЯчеек[8]);
    ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры);
    Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения);
    НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;
    НайденнаяЕдиницаОбъект.Коэффициент = ЧТО НЕОБХОДИМО ЗДЕСЬ НАПИСАТЬ ЧТОБЫ ВЗЯТЬ ЗНАЧЕНИЯ ИЗ 7 КОЛОНКИ?
    НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры;
    Попытка НайденнаяЕдиницаОбъект.Записать();
    Результат = НайденнаяЕдиницаОбъект.Ссылка;
    Исключение Сообщить("Не удалось записать");
    КонецПопытки; Иначе Результат =ТекСпр.Ссылка;
    КонецЕсли;
    Последнее редактирование: 15 фев 2015
  19. alesco
    Offline

    alesco

    Регистрация:
    13 фев 2015
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Полтора часа переписки, и опять тишина...
    Что, ни кто не знает как назначить коэффициент единицы для отчетов, что бы эти данные брались из указанной ячейки в Excel?
  20. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    НайденнаяЕдиницаОбъект.Коэффициент - какой тип?
    вы из табдока грузите или из екселя?

Поделиться этой страницей