УПП 8.1 ПараметрыВыпускаПродукции как заполнить программно?
Показывать по
10
20
40
сообщений
- 1
- 2
02.07.2010
16:07
#1
"День добрый
стоит задача приделать выпускаемой продукции дополнительные характеристики, в частности длину и ширину (окна)
а продукция измеряется в квадратных метрах.
Зачем это надо? для списания материалов. Создал спецификации на окно. И например надо по периметру намазать клея. Сколько нало клея? Длину периметра на норму расхода клея! и подобное...
В форму добавил еще два поля "длина", "ширина". При заполнении заказа на производство, менеджер запоняет эти поля. Автоматом получает площадь окна.
Прошу помочь как эти данные занести в ПараметрыВыпускаПродукции конкретной позиции. А именно эти два параметра.
подскажите фрагмент кода, а то никак не могу к ним подступиться
Вот что есть у меня пока:
Процедура ПродукцияДлинаПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаШирина = ЭлементыФормы.Продукция.Колонки.Ширина.ЭлементУправления.значение;
СтрокаДлина = ЭлементыФормы.Продукция.Колонки.Длина.ЭлементУправления.значение;
IF ПараметрыВыпускаПродукции.ВидПараметра = "Ширина" then
ПараметрыВыпускаПродукции.Значение = СтрокаШирина;
endif
IF ПараметрыВыпускаПродукции.ВидПараметра = "Длина" then
ПараметрыВыпускаПродукции.Значение = СтрокаДлина;
endif
if (СтрокаДлина > 0) and (СтрокаШирина > 0) then
ЭлементыФормы.Продукция.Колонки.Количество.ЭлементУправления.значение = (СтрокаДлина * СтрокаШирина)/1000000;
Сообщить ("Площадь = " + ЭлементыФормы.Продукция.Колонки.Количество.ЭлементУправления.значение);
endif
КонецПроцедуры
"
стоит задача приделать выпускаемой продукции дополнительные характеристики, в частности длину и ширину (окна)
а продукция измеряется в квадратных метрах.
Зачем это надо? для списания материалов. Создал спецификации на окно. И например надо по периметру намазать клея. Сколько нало клея? Длину периметра на норму расхода клея! и подобное...
В форму добавил еще два поля "длина", "ширина". При заполнении заказа на производство, менеджер запоняет эти поля. Автоматом получает площадь окна.
Прошу помочь как эти данные занести в ПараметрыВыпускаПродукции конкретной позиции. А именно эти два параметра.
подскажите фрагмент кода, а то никак не могу к ним подступиться
Вот что есть у меня пока:
Процедура ПродукцияДлинаПриИзменении(Элемент)
// Вставить содержимое обработчика.
СтрокаШирина = ЭлементыФормы.Продукция.Колонки.Ширина.ЭлементУправления.значение;
СтрокаДлина = ЭлементыФормы.Продукция.Колонки.Длина.ЭлементУправления.значение;
IF ПараметрыВыпускаПродукции.ВидПараметра = "Ширина" then
ПараметрыВыпускаПродукции.Значение = СтрокаШирина;
endif
IF ПараметрыВыпускаПродукции.ВидПараметра = "Длина" then
ПараметрыВыпускаПродукции.Значение = СтрокаДлина;
endif
if (СтрокаДлина > 0) and (СтрокаШирина > 0) then
ЭлементыФормы.Продукция.Колонки.Количество.ЭлементУправления.значение = (СтрокаДлина * СтрокаШирина)/1000000;
Сообщить ("Площадь = " + ЭлементыФормы.Продукция.Колонки.Количество.ЭлементУправления.значение);
endif
КонецПроцедуры
"
02.07.2010
16:39
#2
Просьба уточнить - Вы меняете типовую конфигурацию? Насколько сильно Вы ее уже поменяли?
И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
02.07.2010
16:44
#3
> Просьба уточнить - Вы меняете типовую конфигурацию? Насколько сильно Вы ее уже поменяли?
Да уж, уточнил.
Да уж, уточнил.
05.07.2010
07:08
#4
> Просьба уточнить - Вы меняете типовую конфигурацию? Насколько сильно Вы ее уже поменяли?
Типовая еще не тронута, это первое планируемое изменение,
отрабатываю на копии.
> И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
Так и планируется, но в спецификацию надо передать длину и ширину, а спецификацию умеет брать переменные из Параметров выпуска продукции
Типовая еще не тронута, это первое планируемое изменение,
отрабатываю на копии.
> И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
Так и планируется, но в спецификацию надо передать длину и ширину, а спецификацию умеет брать переменные из Параметров выпуска продукции
05.07.2010
11:50
#5
> > Просьба уточнить - Вы меняете типовую конфигурацию? Насколько сильно Вы ее уже поменяли?
>
> Типовая еще не тронута, это первое планируемое изменение,
> отрабатываю на копии.
>
Первое предложение. Оставьте желание изменить типовую конфигурацию. Это Вам не нужно и скорее всего вредно.
> > И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
>
> Так и планируется, но в спецификацию надо передать длину и ширину, а спецификацию умеет брать переменные из Параметров выпуска продукции
>
>
Вот Вы в параметрах выпуска указали длину и ширину - теперь в спецификации просто воспользуйтесь данными переменными для вычисления площади. Пример настройки спецификации
, Москва и сопровождение программ 1С:Предприятие
>
> Типовая еще не тронута, это первое планируемое изменение,
> отрабатываю на копии.
>
Первое предложение. Оставьте желание изменить типовую конфигурацию. Это Вам не нужно и скорее всего вредно.
> > И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
>
> Так и планируется, но в спецификацию надо передать длину и ширину, а спецификацию умеет брать переменные из Параметров выпуска продукции
>
>
Вот Вы в параметрах выпуска указали длину и ширину - теперь в спецификации просто воспользуйтесь данными переменными для вычисления площади. Пример настройки спецификации
, Москва и сопровождение программ 1С:Предприятие
06.07.2010
08:39
#6
"
> Первое предложение. Оставьте желание изменить типовую конфигурацию. Это Вам не нужно и скорее всего вредно.
я незнаю как это сделать штатными средствами, если подскажите, буду очень благодарен
>
> > > И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
> >
> > Так и планируется, но в спецификацию надо передать длину и ширину, а спецификацию умеет брать переменные из Параметров выпуска продукции
> >
в подробностях задача (все еще упрощенная) выглядит вот так
есть спецификация на стеклопакет, который состоит из трех компонент, расход которых определяется геометрией стеклопакета
;
В заказе на производство менеджер должен указать геометрию (длину-ширину) стеклопакета, для дальнейшего списания материалов. Штатно это можно сделать только зайдя в параметры, добавить два вида параметра и указать их значения.
Сколько лишних действий! А выпускается не один стеклопакет в день!
Поэтому я добавил в стандартную форму два поля Длина-Ширина, значения которых копируются в "параметры выпускаемой продукции"
далее используются при списании
Я же все правильно делаю?
КОД КОПИРОВАНИЯ ПАРАМЕТРОВ:
Для Каждого СтрокаТабличнойЧасти Из Продукция Цикл
ПараметрыВыпуска = Новый Соответствие;
Для Каждого ПараметрВыпуска из ПараметрыВыпускаПродукции Цикл
Если ПараметрВыпуска.КлючСвязи = СтрокаТабличнойЧасти.КлючСвязи Тогда
Если ПараметрВыпуска.ВидПараметра.Наименование = "Ширина" Тогда
ПараметрВыпуска.Значение = СтрокаТабличнойЧасти.Ширина
КонецЕсли;
Если ПараметрВыпуска.ВидПараметра.Наименование = "Длина" Тогда
ПараметрВыпуска.Значение = СтрокаТабличнойЧасти.Длина
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
"
> Первое предложение. Оставьте желание изменить типовую конфигурацию. Это Вам не нужно и скорее всего вредно.
я незнаю как это сделать штатными средствами, если подскажите, буду очень благодарен
>
> > > И зачем Вам нужно в качестве параметра передавать площадь? Чем Вас не устраивает вычисление площади в спецификации по длине и ширине?
> >
> > Так и планируется, но в спецификацию надо передать длину и ширину, а спецификацию умеет брать переменные из Параметров выпуска продукции
> >
в подробностях задача (все еще упрощенная) выглядит вот так
есть спецификация на стеклопакет, который состоит из трех компонент, расход которых определяется геометрией стеклопакета
;
В заказе на производство менеджер должен указать геометрию (длину-ширину) стеклопакета, для дальнейшего списания материалов. Штатно это можно сделать только зайдя в параметры, добавить два вида параметра и указать их значения.
Сколько лишних действий! А выпускается не один стеклопакет в день!
Поэтому я добавил в стандартную форму два поля Длина-Ширина, значения которых копируются в "параметры выпускаемой продукции"
далее используются при списании
Я же все правильно делаю?
КОД КОПИРОВАНИЯ ПАРАМЕТРОВ:
Для Каждого СтрокаТабличнойЧасти Из Продукция Цикл
ПараметрыВыпуска = Новый Соответствие;
Для Каждого ПараметрВыпуска из ПараметрыВыпускаПродукции Цикл
Если ПараметрВыпуска.КлючСвязи = СтрокаТабличнойЧасти.КлючСвязи Тогда
Если ПараметрВыпуска.ВидПараметра.Наименование = "Ширина" Тогда
ПараметрВыпуска.Значение = СтрокаТабличнойЧасти.Ширина
КонецЕсли;
Если ПараметрВыпуска.ВидПараметра.Наименование = "Длина" Тогда
ПараметрВыпуска.Значение = СтрокаТабличнойЧасти.Длина
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
"
06.07.2010
08:53
#7
"Теперь стоит задача
если менеджер не указал спецификацию
подставить ее автоматически (если таккая существует)
названия спецификаций совпадают с названием номенклатуры
написал заплатку:
Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.Спецификация) Тогда
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Наименование", СтрокаТабличнойЧасти.Номенклатура.Наименование);
Запрос.Текст = "ВЫБРАТЬ
| СпецификацииНоменклатуры.Ссылка
|ИЗ
| Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры
|ГДЕ
| СпецификацииНоменклатуры.Наименование = &Наименование";
СтрокаТабличнойЧасти.Спецификация.Ссылка = Спецификация;
КонецЕсли;
Только почему то не работает... выдает пустое значение"
если менеджер не указал спецификацию
подставить ее автоматически (если таккая существует)
названия спецификаций совпадают с названием номенклатуры
написал заплатку:
Если НЕ ЗначениеЗаполнено(СтрокаТабличнойЧасти.Спецификация) Тогда
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Наименование", СтрокаТабличнойЧасти.Номенклатура.Наименование);
Запрос.Текст = "ВЫБРАТЬ
| СпецификацииНоменклатуры.Ссылка
|ИЗ
| Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры
|ГДЕ
| СпецификацииНоменклатуры.Наименование = &Наименование";
СтрокаТабличнойЧасти.Спецификация.Ссылка = Спецификация;
КонецЕсли;
Только почему то не работает... выдает пустое значение"
06.07.2010
14:35
#8
Теперь наконец стало понятно, что Вы придумали.
В приведенном коде ошибка, параметры обрабатываются несколько сложнее.
посмотрите код обработки ВводПараметровВыпускаПродукции и параметры ее вызова.
=====
Вопрос - почему бы Вам не воспользоваться характеристиками для описания длин-ширин?
Конечно Вы как следствие получите раздельный учет на складе в разрезе комбинаций длина+ширина. Но возможно это не так уж и накладно. Зато будет типовая конфигурация....
ПрофитСервис, Москва и сопровождение программ 1С:Предприятие
В приведенном коде ошибка, параметры обрабатываются несколько сложнее.
посмотрите код обработки ВводПараметровВыпускаПродукции и параметры ее вызова.
=====
Вопрос - почему бы Вам не воспользоваться характеристиками для описания длин-ширин?
Конечно Вы как следствие получите раздельный учет на складе в разрезе комбинаций длина+ширина. Но возможно это не так уж и накладно. Зато будет типовая конфигурация....
ПрофитСервис, Москва и сопровождение программ 1С:Предприятие
- 1
- 2
Конфигурация Зарплата= Кадры версия 2.3БП8.1 (1.6.24) тип. Ошибка логической целостности. Как исправить?
Читают тему
(гостей: 1)