8.х Установка упаковки номенклатуры

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

  1. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Использовал стандартную обработку ЗагрузкаДанныхИзТабличногоДокумента.epf для загрузки номенклатуры, установки единиц хранения, установки цен номенклатуры. Осталось установить упаковку и кол-во в упаковке для каждой позиции номенклатуры. Данные привязаны к артикулу и содержатся в экселевской таблице.
    Для удобства данные об упаковке должны отображаться в наименовании (вместо слова "упак." - кол-во в упаковке и "шт."):

    [​IMG]

    (чтобы упаковка отображалась в форме заказа):

    [​IMG]

    Скорее всего загрузку можно сделать всё в той же обработке, но к сожалению не знаком со встроенным языком программирования. На сколько понимаю можно написать код в соответствующей строке:

    [​IMG]

    Не могли бы помочь с алгоритмом?

    Вложения:

  2. Пеппи
    Offline

    Пеппи Опытный в 1С

    Регистрация:
    26 мар 2009
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
  3. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
  4. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Какой вопрос, такой и ответ. Вы уже загрузили номенклатуру с упаковками в справочник или нет?
    Если да, то проще сделать обработку, которая просто переменует стандартые единицы измерения.
  5. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Упаковку не загрузил. Каждая позиция загружена с единицой "шт."
    Позиция может идти как поштучно, так и упаковкой. Поэтому необходимо помимо единицы "шт." загрузить/установить единицу "упак." Для каждой позиции она своя. Данные о кол-ве в упаковке содержатся в экселевском файле.
  6. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Ну по аналогии со штуками сделайте. В чем сложность? И пример файла приведите.
  7. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Дело в том что я не знаком с языком программирования 1С, поэтому прошу помощи.
    Пример прайса во вложении.

    Вложения:

  8. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Вот пример
    Так создадите единицы измрения - шт.
    Потом вам нужно создать по аналогии единицу упаковки (просто будете в качестве базовой единицы ее укажите и измените код формирования наименование как в примере ниже)
    Код:
     ЕдиницаИзмеренияНоменклатурыОбъект.Наименование             = "" + ТекущиеДанные[<Номер колонки вашей укаковки> + "шт";
    ЕдиницаИзмеренияНоменклатурыОбъект.ЕдиницаПоКлассификатору     = Объект.БазоваяЕдиницаИзмерения;
    ЕдиницаИзмеренияНоменклатурыОбъект.Коэффициент                 = ТекущиеДанные[<Номер колонки вашей укаковки>];
    
  9. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Единица измерения шт. уже созданы для каждой номенклатуры.
    Я так понимаю речь идет о следующем коде?:
    Код:
    СсылкаНоменклатуры = Справочники.Номенклатура.НайтиПоНаименованию(ТекущиеДанные["Наименование"]); 
    БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду(796);
    ТекСпр=Справочники.ЕдиницыИзмерения.НайтиПоРеквизиту("
    ЕдиницаПоКлассификатору",БазоваяЕдиницаИзмерения,,СсылкаНоменклатуры);
    Если ТекСпр.Пустая() Тогда НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); 
    НайденнаяЕдиницаОбъект.Наименование = СокрЛП(БазоваяЕдиницаИзмерения); 
    НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения; 
    НайденнаяЕдиницаОбъект.Коэффициент = 1; 
    НайденнаяЕдиницаОбъект.Владелец = СсылкаНоменклатуры; 
    Попытка НайденнаяЕдиницаОбъект.Записать(); 
    Результат = НайденнаяЕдиницаОбъект.Ссылка; 
    Исключение Сообщить("Не удалось записать"); 
    КонецПопытки; 
    Иначе Результат =ТекСпр.Ссылка; 
    КонецЕсли; 
    
    Не смог понять куда в этом коде нужно внести изменения? Какие поля должны быть задействованы при настройки обработки?
    Поиск осуществляется по артикулу/наименованию - с этим всё ясно. Установка еще одной единицы номенклатуры идет в поле "Единица измерения мест"?
    В итоге в настройках обработки будет всего 2 галочки?:

    [​IMG]

    Вы не могли бы написать полный код?
    Извините еще раз за то что приходится всё так разжевывать, но язык 1с мне не совсем понятен.
  10. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Для начала упаковки загрузите а потом можете отписаться Вам сделают чтоб упаковки в наименовании писались. Загрузите единицу "Упак."
  11. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Хорошо, так а как загрузить? Весь мой вопрос в этом и заключается.
    Бог с ним с наименованием, если проблема в нём, это по большей части дело удобства. Помогите хотя бы загрузить упаковку с соответствующими коэффициентами из файла.
  12. TopicStarter Overlay
    djkolt
    Offline

    djkolt

    Регистрация:
    3 окт 2010
    Сообщения:
    15
    Симпатии:
    0
    Баллы:
    1
    Работы на 2 строчки. Вот может кому пригодится:
    Наименование - Вычислять
    Код:
    Результат = СокрЛП(ТекстЯчейки) + " "+ТекущиеДанные.Владелец.БазоваяЕдиницаИзмерения 
    
    Единица по классификатору - Вычислять
    Код:
    Результат = ТекущиеДанные.Владелец.БазоваяЕдиницаИзмерения
    
    Всё загрузилось

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