8.
Программе
2
27.03.15 11:54
Сейчас в теме
блин я совсем забыл про них очень извенюсь.
для работы нужно;
1. закоментировать процедуры формы
Процедура ТаблицаНоменклатурыСпецификацияНоменклатурыНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПолученнаяФорма = ПолучитьОбщуюФорму("_ФормаВыбораСпецификации");
Если ЭлементыФормы.ТаблицаНоменклатуры.ТекущаяСтрока.Номенклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда
ПолученнаяФорма.УстановитьКритерииОтбора(ЭлементыФормы.ТаблицаНоменклатуры.ТекущаяСтрока.Номенклатура);
КонецЕсли;
ПолученнаяФорма = ПолученнаяФорма.ОткрытьМодально();
Элемент.Значение = ПолученнаяФорма;
2. добавить в процедуру в модуль объекта
Функция ПолучитьСпецификацию(Номенклатура, Характеристика) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОсновныеСпецификацииНоменклатурыСрезПоследних.СпецификацияНоменклатуры
|ИЗ
| РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(&МоментВремени, ) КАК ОсновныеСпецификацииНоменклатурыСрезПоследних
|ГДЕ
| ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура = &Номенклатура
| И ОсновныеСпецификацииНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = &Характеристика";
Запрос.УстановитьПараметр("МоментВремени", ТекущаяДата());
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("Характеристика", Характеристика);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество()<>0 Тогда
ВыборкаДетальныеЗаписи.Следующий();
Возврат ВыборкаДетальныеЗаписи.СпецификацияНоменклатуры;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
КонецПроцедуры
3. и добавить тутаже
Функция ПолучитьЦену(Номенклатура, Характеристика, ТипЦен, КоличествоНаЕд, ДатаФормирования = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&МоментВремни, ) КАК ЦеныНоменклатурыСрезПоследних
|ГДЕ
| ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура
| И ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = &Характеристика
| И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен";
Если ДатаФормирования = Неопределено Тогда
Запрос.УстановитьПараметр("МоментВремни", ТекущаяДата());
Иначе
Запрос.УстановитьПараметр("МоментВремни", КонецДня(ДатаФормирования));
КонецЕсли;
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("Характеристика", Характеристика);
Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Количество()<>0 Тогда
ВыборкаДетальныеЗаписи.Следующий();
Цена = Окр(КоличествоНаЕд * ВыборкаДетальныеЗаписи.Цена, 2);
Возврат Цена
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
4. следовательно все вызовы процедур надо подправить.
еще раз приношу свои извенения, не учел!