8.х Создание подчиненных Заказов на производство на Основании Заказа на производство.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем ЕЛЕНА ЧЕРНЫШЕВА, 2 сен 2015.

  1. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте!!! Помогите с вопросом!
    Нужно, что бы на основании выбранного заказа были созданы два подчиненных заказа, в соответствии с деревом спецификации.
  2. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Что не получается ? Кстати, версию конфигурации всегда указывайте.
  3. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    1с 8 УПП 1.3.
    Не получается прописать спецификацию в коде.
  4. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Показывайте, как пишите.
  5. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Процедура СформироватьВыполнитьНажатие(Сформировать);
    Если Не ЗначениеЗаполнено(ЗаказНаПроизводство) Тогда
    Предупреждение("Документ Не Выбран");
    Возврат;
    КонецЕсли;
    Если ЗаказНаПроизводство.ПометкаУдаления Тогда
    Предупреждение ("Выберите Документ Не Помеченный На Удаление");
    Возврат;
    КонецЕсли;
    Если Не ЗаказНаПроизводство.Проведен Тогда
    Предупреждение ("Выберите Проведённый Документ");
    Возврат;
    КонецЕсли;

    ТЗ=Новый ТаблицаЗначений();
    Ссылка =ЗаказНаПроизводство.ПолучитьОбъект();
    ТЗ = Ссылка.Материалы.Выгрузить();
    ТЗ.ВыбратьСтроку();

    НовДок = Документы.ЗаказНаПроизводство.СоздатьДокумент();
    КолДок = 1;
    НовДок.Дата = ТекущаяДата();
    НовДок.УстановитьВремя();
    НовДок.УстановитьНовыйНомер();
    НовДок.Организация = Ссылка.Организация;
    НовДок.Подразделение = Ссылка.Подразделение;
    НовДок.ОсновнойЗаказНаПроизводство = Ссылка.ОсновнойЗаказНаПроизводство;
    НовДок.ДатаЗапуска = Ссылка.ДатаЗапуска;
    НовДок.ДатаИсполнения = Ссылка.ДатаИсполнения;

    Для Каждого Т из ТЗ Цикл
    Если Т.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Производство Тогда

    НоваяСтрока=НовДок.Продукция.Добавить();
    НоваяСтрока.Номенклатура = Т.Номенклатура;
    НоваяСтрока.ХарактеристикаНоменклатуры = Т.ХарактеристикаНоменклатуры;
    НоваяСтрока.Количество = Т.Количество;
    НоваяСтрока.Заказ = Т.Заказ;
    НоваяСтрока.Спецификация = Т.Спецификация;
    НоваяСтрока.Коэффициент = Т.Коэффициент;
    НоваяСтрока.ЕдиницаИзмерения = Т. ЕдиницаИзмерения;
    НовДок.Записать();

    КонецЕсли;
    КонецЦикла;


    КонецПроцедуры
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    А зачем Вам какой то код писать?
    А в чем проблема то, программа то сама создать может
    у Вас должен быть заказ на производство и спецификация.
    Затем на вкладке материалы делаете заполнить по спецификации - заполняются материалы для производства. у материалов там есть вид воспроизводства, там у вас скорее всего будут 2 полуфабриката, которые вы производите с видом производство. нажимаете ввести на основании заказ на производство - он Вам сделает заказ на производство новый и добавит туда две строки короые надо будет производить. взяли это заказ скопировали и оставили в каждом по одной строке
  7. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Для чего используете ТЗ.ВыбратьСтроку(); ???
    Отладчиком заходит в цикл ? И вообще, зачем при каждой итерации записывать документ ???
    Это точно ваш код и вы понимаете каждую строчку ?
  8. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Это, я знаю. Требуют автоматизацию, что бы им было удобно работать.:(
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    Да я же написал что все стандартно делается - писать не надо. В чем неудобство то. нажать 2 кнопки вместо одной?
    если же писать то там все запросами днелается а не через объекты.
    Если же по коду
    НоваяСтрока.Спецификация = Т.Спецификация;
    то Т.Спецификация это спецификация первого продукта который производите. на тот для котрого делаете надо плучать актуальную спецификацию на дату
  10. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Да код мой, но в написании его мне помогали. Я только учусь.
    --- Объединение сообщений, 2 сен 2015 ---
    А как, получить её?
  11. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    Я вам написал свое мнение.
    если е Ваш код то сказал что правильне на запросы переделать, а если нет то РС ОсновныеСпецификацииНоменклатуры от туда тяните спецификацию
  12. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Я понимаю,что нужно запросом выгрузить спецификации, а как связать потом с заказом?
    И как сделать, чтобы всего два заказа было сформировано, а у меня после каждого нажатия кнопки "сформировать " появляется новый заказ?
    Последнее редактирование: 2 сен 2015
  13. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.641
    Симпатии:
    948
    Баллы:
    204
    Ну как то типа того

    Берем из заказа то что надо произвести, берем срез последних по спецификациям и связываем и потом этим заполняем ТЧ нового документа

    как то так. ну понятно что там еще связь по характеристике нужна и прочие мелочи

    Код:
    ВЫБРАТЬ
        ЗаказНаПроизводствоМатериалы.Номенклатура,
        ЗаказНаПроизводствоМатериалы.Количество
    ПОМЕСТИТЬ ВТЧтоНадоПроизвести
    ИЗ
        Документ.ЗаказНаПроизводство.Материалы КАК ЗаказНаПроизводствоМатериалы
    ГДЕ
        ЗаказНаПроизводствоМатериалы.Ссылка = &Ссылка
        И ЗаказНаПроизводствоМатериалы.ВидВоспроизводства = &ВидВоспроизводства
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
        ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры
    ПОМЕСТИТЬ АктуальныеСпецификации
    ИЗ
        РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(&Дата, ) КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ВТЧтоНадоПроизвести.Номенклатура,
        ВТЧтоНадоПроизвести.Количество,
        АктуальныеСпецификации.СпецификацияНоменклатуры
    ИЗ
        ВТЧтоНадоПроизвести КАК ВТЧтоНадоПроизвести
            ЛЕВОЕ СОЕДИНЕНИЕ АктуальныеСпецификации КАК АктуальныеСпецификации
            ПО ВТЧтоНадоПроизвести.Номенклатура = АктуальныеСпецификации.Номенклатура
  14. TopicStarter Overlay
    ЕЛЕНА ЧЕРНЫШЕВА
    Offline

    ЕЛЕНА ЧЕРНЫШЕВА Опытный в 1С

    Регистрация:
    2 сен 2015
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Помогите, как записать правильно.
    --- Объединение сообщений, 2 сен 2015 ---
    СПАСИБО, что откликнулись на мою просьбу!

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