Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 17:26

Создание заказа на производство.

Автор Елена1986, 03 сен 2015, 10:17

0 Пользователей и 1 гость просматривают эту тему.

Елена1986

Здравствуйте! Помогите пожалуйста разобраться с вопросом. На основании заказа покупателя нужно создать заказы на производство

vitasw

Вы опять в своем репертуаре :kmtu: С такой постановкой вопроса вам никто ничего не расскажет. Обязательно нужно указывать конфигурацию и желательно релиз конфигурации, а так же степень изменений конфигурации.

Елена1986

Цитата: vitasw от 03 сен 2015, 10:22
Вы опять в своем репертуаре :kmtu: С такой постановкой вопроса вам никто ничего не расскажет. Обязательно нужно указывать конфигурацию и желательно релиз конфигурации, а так же степень изменений конфигурации.
Извините, Я только учусь!:nhsrm:
УПП 8.3

vitasw

Ок, плывем дальше.
Какого рада вас интересует ответ? Если вы программист (а эта ветка форума именно для программистов), то покажите что уже сделали. Если вопрос только с точки зрения "как пользоваться", то вам сюда:
https://forum-baza.ru/index.php?board=55.0

Елена1986

Цитата: vitasw от 03 сен 2015, 10:59
Ок, плывем дальше.
Какого рада вас интересует ответ? Если вы программист (а эта ветка форума именно для программистов), то покажите что уже сделали. Если вопрос только с точки зрения "как пользоваться", то вам сюда:
https://forum-baza.ru/index.php?board=55.0
Процедура СформироватьВыполнитьНажатие(Сформировать);
   Если Не ЗначениеЗаполнено(ЗаказНаПроизводство) Тогда 
      Предупреждение("Документ Не Выбран");
      Возврат;
   КонецЕсли;
   Если ЗаказНаПроизводство.ПометкаУдаления Тогда
      Предупреждение ("Выберите Документ Не Помеченный На Удаление");
      Возврат;
   КонецЕсли;
   Если Не ЗаказНаПроизводство.Проведен Тогда
      Предупреждение ("Выберите  Проведённый Документ");
      Возврат;
   КонецЕсли;
   ТЗ=Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Спецификация");
   
   Стр=ТЗ.Добавить();
   Стр.Спецификация = "Нужная спецификация";
   
   Для Каждого Стр Из ТЗ Цикл
      
      Запрос = Новый Запрос;
      Запрос.Текст =
      "
      |ВЫБРАТЬ
      |    СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура
      |ПОМЕСТИТЬ ВТ
      |ИЗ
      |    РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(&Дата, СпецификацияНоменклатуры = &Спецификация) КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
      |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
      |        ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры = СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |    ВТ.Номенклатура,
      |    ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры КАК Спецификация
      |ИЗ
      |    ВТ КАК ВТ
       |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
       |ПО ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = ВТ.Номенклатура"; 
      
      Запрос.УстановитьПараметр("Дата",ТекущаяДата());
      Запрос.УстановитьПараметр("Спецификация",Стр.Спецификация);
      
      Результат = Запрос.Выполнить().Выбрать();
   КонецЦикла;
   
   Пока Результат.Следующий() Цикл
      
      Стр1=ТЗ.Добавить();
      Стр1.Спецификация = Результат.Спецификация;
   КонецЦикла;
   
   ТЗ1=Новый ТаблицаЗначений();
   Ссылка =ЗаказНаПроизводство.ПолучитьОбъект();
   ТЗ1 = Ссылка.Материалы.Выгрузить();
   
   НовДок = Документы.ЗаказНаПроизводство.СоздатьДокумент();
   КолДок =1;
   НовДок.Дата = ТекущаяДата();
   НовДок.УстановитьВремя();
   НовДок.УстановитьНовыйНомер();
   НовДок.Организация = Ссылка.Организация;
   НовДок.Подразделение = Ссылка.Подразделение;
   НовДок.ОсновнойЗаказНаПроизводство = Ссылка.ОсновнойЗаказНаПроизводство;
   НовДок.ДатаЗапуска = Ссылка.ДатаЗапуска;
   НовДок.ДатаИсполнения = Ссылка.ДатаИсполнения;
   
   Для Каждого Т из ТЗ1 Цикл
      Если Т.ВидВоспроизводства = Перечисления.ВидыВоспроизводстваНоменклатуры.Производство Тогда
         
         НоваяСтрока=НовДок.Продукция.Добавить();
         НоваяСтрока.Номенклатура = Т.Номенклатура;
         НоваяСтрока.ХарактеристикаНоменклатуры = Т.ХарактеристикаНоменклатуры;   
         НоваяСтрока.Количество = Т.Количество;
         НоваяСтрока.Заказ = Т.Заказ;
         НоваяСтрока.Спецификация = НайтиСпецификацию(Т.Номенклатура);
         НоваяСтрока.Коэффициент = Т.Коэффициент;
         НоваяСтрока.ЕдиницаИзмерения = Т. ЕдиницаИзмерения;
         НовДок.Записать();
         
      КонецЕсли;
   КонецЦикла;   
КонецПроцедуры

vitasw

И каков результат сего кода? Что именно не получается?

Елена1986

Цитата: vitasw от 03 сен 2015, 11:15
И каков результат сего кода? Что именно не получается?
Заказ создаёт, но спецификацию продукции не прописывает.

vitasw

Н-да.
1.Почему "производится" та номенклатура, которая указана в таблице "Материла" в заказе покупателя, а не из закладки "Продукция"?
2. В заказе покупатели какой стоит вид операции?
3. Как определить ту номенклатуру, которую нужно произвести?

Елена1986

Цитата: vitasw от 03 сен 2015, 11:36
Н-да.
1.Почему "производится" та номенклатура, которая указана в таблице "Материла" в заказе покупателя, а не из закладки "Продукция"?
2. В заказе покупатели какой стоит вид операции?
3. Как определить ту номенклатуру, которую нужно произвести?
Номенклатура та, у которой вид воспроизводства- производство.
В заказе покупателя стоит продажа.

vitasw

Почему "производится" та номенклатура, которая указана в таблице "Материлы" в заказе покупателя, а не из таблицы "товары"? При виде операции = продажа, таблица "материалы" не видна.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск