![]() |
![]() |
|
Документ на основании | ☑ | ||
---|---|---|---|---|
0
OlegOP
29.06.15
✎
13:15
|
Ребят, у меня такая запара по УМКП 1.3.
Есть документ "Выделение аспирационных отходов" номенклатура в которых имеет всего два вида пшено и овес. При проведении "ВАО"создается документ "Требование-накладная" соответственно табличная часть которого заполняется ТЧ док.основания. НО! у меня стоит задача чтобы при проведении "ВАО" создавалост 2 требования, в одном была номенклатура только пшено, а в другом только овес, потому что подразделения у них разные. Мозг ломаю не знаю как сделать, если не трудно помогите плз! Код: ПодчиненныйДокумент = НайтиПодчиненныйДокумент(ДокументСсылка, Перечисления.СБ_ВидыДокументов.ТребованиеНакладная); Если ПодчиненныйДокумент = Неопределено тогда ТребованиеНакладная = Документы.ТребованиеНакладная.СоздатьДокумент(); ТребованиеНакладная2 = Документы.ТребованиеНакладная.СоздатьДокумент(); Иначе ТребованиеНакладная = ПодчиненныйДокумент.ПолучитьОбъект(); ТребованиеНакладная.УстановитьПометкуУдаления(Ложь); КонецЕсли; ТребованиеНакладная.ПометкаУдаления=Ложь; ТребованиеНакладная2.ПометкаУдаления=Ложь; ТребованиеНакладная.Материалы.Очистить(); ТребованиеНакладная2.Материалы.Очистить(); ТребованиеНакладная.СведенияОКачестве.Очистить(); ТребованиеНакладная2.СведенияОКачестве.Очистить(); ТребованиеНакладная.Заполнить(ДокументПартий.Ссылка); ТребованиеНакладная2.Заполнить(ДокументПартий.Ссылка); //+СБ Васильев 2013-06-03 //отбор по свойству уже в заполненной табличной части ЗапросПоТабличнойЧасти = Новый Запрос; ЗапросПоТабличнойЧасти.УстановитьПараметр("Материалы",ТребованиеНакладная.Материалы.Выгрузить()); ЗапросПоТабличнойЧасти.УстановитьПараметр("СведенияОКачестве",ТребованиеНакладная.СведенияОКачестве.Выгрузить()); ЗапросПоТабличнойЧасти.УстановитьПараметр("Вид",СБ_Процедуры.ПолучитьДополнительноеСвойство(Перечисления.СБ_ТипыДополнительныхПараметров.ВидХарактеристикиХранения)); //вид ЗапросПоТабличнойЧасти.УстановитьПараметр("Хранение",СБ_Процедуры.ПолучитьДополнительноеСвойство(Перечисления.СБ_ТипыДополнительныхПараметров.СвойствоХарактеристикиХранения)); //хранение ЗапросПоТабличнойЧасти.Текст = "ВЫБРАТЬ | ТребованиеНакладнаяМатериалы.НомерСтроки, | ТребованиеНакладнаяМатериалы.ЕдиницаИзмерения, | ТребованиеНакладнаяМатериалы.ЕдиницаИзмеренияМест, | ТребованиеНакладнаяМатериалы.Заказ, | ТребованиеНакладнаяМатериалы.Качество, | ТребованиеНакладнаяМатериалы.Количество, | ТребованиеНакладнаяМатериалы.КоличествоМест, | ТребованиеНакладнаяМатериалы.Коэффициент, | ТребованиеНакладнаяМатериалы.Номенклатура, | ТребованиеНакладнаяМатериалы.НоменклатурнаяГруппа, | ТребованиеНакладнаяМатериалы.ОбъектСтроительства, | ТребованиеНакладнаяМатериалы.ОтражениеВУСН, | ТребованиеНакладнаяМатериалы.Продукция, | ТребованиеНакладнаяМатериалы.СерияНоменклатуры, | ТребованиеНакладнаяМатериалы.СерияПродукции, | ТребованиеНакладнаяМатериалы.СтатьяЗатрат, | ТребованиеНакладнаяМатериалы.Субконто1, | ТребованиеНакладнаяМатериалы.Субконто2, | ТребованиеНакладнаяМатериалы.Субконто3, | ТребованиеНакладнаяМатериалы.СубконтоНУ1, | ТребованиеНакладнаяМатериалы.СубконтоНУ2, | ТребованиеНакладнаяМатериалы.СубконтоНУ3, | ТребованиеНакладнаяМатериалы.Счет, | ТребованиеНакладнаяМатериалы.СчетЗатрат, | ТребованиеНакладнаяМатериалы.СчетЗатратНУ, | ТребованиеНакладнаяМатериалы.СчетНУ, | ТребованиеНакладнаяМатериалы.ХарактеристикаНоменклатуры, | ТребованиеНакладнаяМатериалы.ХарактеристикаПродукции, | ТребованиеНакладнаяМатериалы.СтатьяЗатратНДС, | ТребованиеНакладнаяМатериалы.Проект, | ТребованиеНакладнаяМатериалы.Склад, | ТребованиеНакладнаяМатериалы.ОтпущеноСверхЛимита, | ТребованиеНакладнаяМатериалы.ЗаказРезерв, | ТребованиеНакладнаяМатериалы.ВнутреннийЗаказ, | ТребованиеНакладнаяМатериалы.СпособСтроительства, | ТребованиеНакладнаяМатериалы.ИдентификаторПартии |ПОМЕСТИТЬ ВТ_Материалы |ИЗ | &Материалы КАК ТребованиеНакладнаяМатериалы |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВложенныйЗапрос.НомерСтроки, | ВложенныйЗапрос.ЕдиницаИзмерения, | ВложенныйЗапрос.ЕдиницаИзмеренияМест, | ВложенныйЗапрос.Заказ, | ВложенныйЗапрос.Качество, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.КоличествоМест, | ВложенныйЗапрос.Коэффициент, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.НоменклатурнаяГруппа, | ВложенныйЗапрос.ОбъектСтроительства, | ВложенныйЗапрос.ОтражениеВУСН, | ВложенныйЗапрос.Продукция, | ВложенныйЗапрос.СерияНоменклатуры, | ВложенныйЗапрос.СерияПродукции, | ВложенныйЗапрос.СтатьяЗатрат, | ВложенныйЗапрос.Субконто1, | ВложенныйЗапрос.Субконто2, | ВложенныйЗапрос.Субконто3, | ВложенныйЗапрос.СубконтоНУ1, | ВложенныйЗапрос.СубконтоНУ2, | ВложенныйЗапрос.СубконтоНУ3, | ВложенныйЗапрос.Счет, | ВложенныйЗапрос.СчетЗатрат, | ВложенныйЗапрос.СчетЗатратНУ, | ВложенныйЗапрос.СчетНУ, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.ХарактеристикаПродукции, | ВложенныйЗапрос.СтатьяЗатратНДС, | ВложенныйЗапрос.Проект, | ВложенныйЗапрос.Склад, | ВложенныйЗапрос.ОтпущеноСверхЛимита, | ВложенныйЗапрос.ЗаказРезерв, | ВложенныйЗапрос.ВнутреннийЗаказ, | ВложенныйЗапрос.СпособСтроительства, | ВложенныйЗапрос.ИдентификаторПартии, | ВложенныйЗапрос.Хранение |ИЗ | (ВЫБРАТЬ | ВТ_Материалы.НомерСтроки КАК НомерСтроки, | ВТ_Материалы.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВТ_Материалы.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | ВТ_Материалы.Заказ КАК Заказ, | ВТ_Материалы.Качество КАК Качество, | ВТ_Материалы.Количество КАК Количество, | ВТ_Материалы.КоличествоМест КАК КоличествоМест, | ВТ_Материалы.Коэффициент КАК Коэффициент, | ВТ_Материалы.Номенклатура КАК Номенклатура, | ВТ_Материалы.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, | ВТ_Материалы.ОбъектСтроительства КАК ОбъектСтроительства, | ВТ_Материалы.ОтражениеВУСН КАК ОтражениеВУСН, | ВТ_Материалы.Продукция КАК Продукция, | ВТ_Материалы.СерияНоменклатуры КАК СерияНоменклатуры, | ВТ_Материалы.СерияПродукции КАК СерияПродукции, | ВТ_Материалы.СтатьяЗатрат КАК СтатьяЗатрат, | ВТ_Материалы.Субконто1 КАК Субконто1, | ВТ_Материалы.Субконто2 КАК Субконто2, | ВТ_Материалы.Субконто3 КАК Субконто3, | ВТ_Материалы.СубконтоНУ1 КАК СубконтоНУ1, | ВТ_Материалы.СубконтоНУ2 КАК СубконтоНУ2, | ВТ_Материалы.СубконтоНУ3 КАК СубконтоНУ3, | ВТ_Материалы.Счет КАК Счет, | ВТ_Материалы.СчетЗатрат КАК СчетЗатрат, | ВТ_Материалы.СчетЗатратНУ КАК СчетЗатратНУ, | ВТ_Материалы.СчетНУ КАК СчетНУ, | ВТ_Материалы.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ВТ_Материалы.ХарактеристикаПродукции КАК ХарактеристикаПродукции, | ВТ_Материалы.СтатьяЗатратНДС КАК СтатьяЗатратНДС, | ВТ_Материалы.Проект КАК Проект, | ВТ_Материалы.Склад КАК Склад, | ВТ_Материалы.ОтпущеноСверхЛимита КАК ОтпущеноСверхЛимита, | ВТ_Материалы.ЗаказРезерв КАК ЗаказРезерв, | ВТ_Материалы.ВнутреннийЗаказ КАК ВнутреннийЗаказ, | ВТ_Материалы.СпособСтроительства КАК СпособСтроительства, | ВТ_Материалы.ИдентификаторПартии КАК ИдентификаторПартии, | ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) КАК Хранение | ИЗ | ВТ_Материалы КАК ВТ_Материалы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ВТ_Материалы.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект | И (ЗначенияСвойствОбъектов.Свойство = &Вид) | И (ЗначенияСвойствОбъектов.Значение = &Хранение)) КАК ВложенныйЗапрос |ГДЕ | ВложенныйЗапрос.Хранение = ЛОЖЬ"; ТребованиеНакладная.Материалы.Загрузить(ЗапросПоТабличнойЧасти.Выполнить().Выгрузить()); ТребованиеНакладная2.Материалы.Загрузить(ЗапросПоТабличнойЧасти.Выполнить().Выгрузить()); ЗапросПоТабличнойЧасти.Текст = "ВЫБРАТЬ | ТребованиеНакладнаяСведенияОКачестве.НомерСтроки, | ТребованиеНакладнаяСведенияОКачестве.ЕдиницаИзмерения, | ТребованиеНакладнаяСведенияОКачестве.Количество, | ТребованиеНакладнаяСведенияОКачестве.Коэффициент, | ТребованиеНакладнаяСведенияОКачестве.Номенклатура, | ТребованиеНакладнаяСведенияОКачестве.СерияНоменклатуры, | ТребованиеНакладнаяСведенияОКачестве.ХарактеристикаНоменклатуры, | ТребованиеНакладнаяСведенияОКачестве.ХарактеристикаКачестваНоменклатуры, | ТребованиеНакладнаяСведенияОКачестве.МестоРазмещения, | ТребованиеНакладнаяСведенияОКачестве.НомерАнализа, | ТребованиеНакладнаяСведенияОКачестве.Секция, | ТребованиеНакладнаяСведенияОКачестве.ТипПомола, | ТребованиеНакладнаяСведенияОКачестве.КарточкаЛабораторногоАнализа, | ТребованиеНакладнаяСведенияОКачестве.НоменклатураВладелец |ПОМЕСТИТЬ ВТ_Материалы |ИЗ | &СведенияОКачестве КАК ТребованиеНакладнаяСведенияОКачестве |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВложенныйЗапрос.НомерСтроки, | ВложенныйЗапрос.ЕдиницаИзмерения, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.Коэффициент, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.СерияНоменклатуры, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.Хранение, | ВложенныйЗапрос.ХарактеристикаКачестваНоменклатуры, | ВложенныйЗапрос.МестоРазмещения, | ВложенныйЗапрос.НомерАнализа, | ВложенныйЗапрос.Секция, | ВложенныйЗапрос.ТипПомола, | ВложенныйЗапрос.КарточкаЛабораторногоАнализа, | ВложенныйЗапрос.НоменклатураВладелец |ИЗ | (ВЫБРАТЬ | ВТ_Материалы.НомерСтроки КАК НомерСтроки, | ВТ_Материалы.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВТ_Материалы.Количество КАК Количество, | ВТ_Материалы.Коэффициент КАК Коэффициент, | ВТ_Материалы.Номенклатура КАК Номенклатура, | ВТ_Материалы.СерияНоменклатуры КАК СерияНоменклатуры, | ВТ_Материалы.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, ЛОЖЬ) КАК Хранение, | ВТ_Материалы.ХарактеристикаКачестваНоменклатуры КАК ХарактеристикаКачестваНоменклатуры, | ВТ_Материалы.МестоРазмещения КАК МестоРазмещения, | ВТ_Материалы.НомерАнализа КАК НомерАнализа, | ВТ_Материалы.Секция КАК Секция, | ВТ_Материалы.ТипПомола КАК ТипПомола, | ВТ_Материалы.КарточкаЛабораторногоАнализа КАК КарточкаЛабораторногоАнализа, | ВТ_Материалы.НоменклатураВладелец КАК НоменклатураВладелец | ИЗ | ВТ_Материалы КАК ВТ_Материалы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ВТ_Материалы.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект | И (ЗначенияСвойствОбъектов.Свойство = &Вид) | И (ЗначенияСвойствОбъектов.Значение = &Хранение)) КАК ВложенныйЗапрос |ГДЕ | ВложенныйЗапрос.Хранение = ЛОЖЬ"; Результат = ЗапросПоТабличнойЧасти.Выбрать(); ТребованиеНакладная.СведенияОКачестве.Загрузить(ЗапросПоТабличнойЧасти.Выполнить().Выгрузить()); ТребованиеНакладная2.СведенияОКачестве.Загрузить(ЗапросПоТабличнойЧасти.Выполнить().Выгрузить()); //+СБ Васильев 2013-06-03 ТребованиеНакладная.Комментарий = "Документ создан автоматически на основании документа Передача зерна в производство № "+ДокументСсылка.Номер +" от "+ДокументСсылка.Дата; ТребованиеНакладная2.Комментарий = "Документ создан автоматически на основании документа Передача зерна в производство № "+ДокументСсылка.Номер +" от "+ДокументСсылка.Дата; ТребованиеНакладная.Дата = ДокументСсылка.Дата; ТребованиеНакладная2.Дата = ДокументСсылка.Дата; ТребованиеНакладная.ПодразделениеОрганизации = ПолучитьПодразделениеОрганизации(ДокументПартий.Подразделение, ДокументПартий.Организация); ТребованиеНакладная2.ПодразделениеОрганизации = ПолучитьПодразделениеОрганизации(ДокументПартий.Подразделение, ДокументПартий.Организация); ТребованиеНакладная.НДСвСтоимостиТоваров = Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять; ТребованиеНакладная2.НДСвСтоимостиТоваров = Перечисления.ДействиеНДСВСтоимостиТоваров.НеИзменять; Для каждого Строка Из ТребованиеНакладная.СведенияОКачестве Цикл Строка.НомерАнализа = 1; КонецЦикла; ТребованиеНакладная.Записать(РежимЗаписиДокумента.Запись); ТребованиеНакладная2.Записать(РежимЗаписиДокумента.Запись); МенеджерЗаписи = РегистрыСведений.СБ_ПодчиненныеДокументы.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ДатаПодчиненного = ТребованиеНакладная.Дата; МенеджерЗаписи.ВведенНаОсновании = ДокументПартий.Ссылка; МенеджерЗаписи.ДокументОснование = ДокументСсылка; МенеджерЗаписи.ПодчиненныйДокумент = ТребованиеНакладная.Ссылка; МенеджерЗаписи.ВидПодчиненногоДокумента = Перечисления.СБ_ВидыДокументов.ТребованиеНакладная; МенеджерЗаписи.Записать(Истина); МенеджерЗаписи = РегистрыСведений.СБ_ПодчиненныеДокументы.СоздатьМенеджерЗаписи(); МенеджерЗаписи.ДатаПодчиненного = ТребованиеНакладная2.Дата; МенеджерЗаписи.ВведенНаОсновании = ДокументПартий.Ссылка; МенеджерЗаписи.ДокументОснование = ДокументСсылка; МенеджерЗаписи.ПодчиненныйДокумент = ТребованиеНакладная2.Ссылка; МенеджерЗаписи.ВидПодчиненногоДокумента = Перечисления.СБ_ВидыДокументов.ТребованиеНакладная; МенеджерЗаписи.Записать(Истина); |
|||
1
D_E_S_131
29.06.15
✎
13:25
|
Варианты:
1. Не вводить на основании, а сделать отдельную процедуру. 2. Вводить на основании 2 раза — нужный вид "пшено/овес" выбирать по предварительному вопросу "Чего хотим ввести?". |
|||
2
OlegOP
29.06.15
✎
13:30
|
а из результата запроса в цикле не вариант?
|
|||
3
OlegOP
29.06.15
✎
13:33
|
Это код как раз из процедуры в модуле менеджера, при проведении ВАО создаются подчиненные документы.
Я чет "тупака" реального включил что с этим дальше делать... |
|||
4
D_E_S_131
29.06.15
✎
14:29
|
(2) "при проведении ВАО создаются подчиненные документы" — у меня хватает воспитания не давать подобных советов.
|
|||
5
yukon
29.06.15
✎
16:17
|
(1) Лучше комбинировать:
1. Вывести отдельную кнопку. В ней задать вопрос. Сохранить результат, например в переменную СеноСолома. 2. Ответ на вопрос из п.1 передать в данных заполнения. Например, так: ТребованиеНакладнаяОбъект.Заполнить(Новый Структура("Основание,СеноСолома",ДокументВАО, СеноСолома); 3. В обработке заполнения добавить ветку условия на ДанныеЗаполнения.СеноСолома |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |