Доброго времени суток! ф-я глПолучитьЦену(ном, Константа.ЗакупочныйТипЦен, д, ном.БазоваяЕдиница); возвращает 0, вот здесь: Код: "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; //|ОбрабатыватьДокументы все; //|Обрабатывать непомеченныенаудаление; |Номенклатура = Документ.ЧекККМ.Номенклатура; |Условие (Номенклатура в фгр); |ВидОп = Документ.ЧекККМ.ВидОперации; |Условие (ВидОп = Перечисление.ВидыОперацийЧекККМ.Чек); |Количество = Документ.ЧекККМ.Количество; |Цена = Документ.ЧекККМ.Цена; |_Сумма = Документ.ЧекККМ.Сумма; |Функция СКоличество = Сумма(Количество); |Функция СЦена = Сумма(Цена); |Функция ССумма = Сумма(_Сумма); |Группировка Номенклатура упорядочить по Номенклатура.Наименование; |";//}}ЗАПРОС; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка(1) = 1 Цикл тз.НоваяСтрока(); тз.Номенклатура = Запрос.Номенклатура; тз.УшлоКол = Запрос.СКоличество; тз.УшлоСум = Запрос.ССумма; Если (тз.Номенклатура.ЭтоГруппа()=0) Тогда Если глПривлеченныйТовар(тз.Номенклатура) = 0 Тогда сообщить(Строка(ЦенаЗакупки(тз.Номенклатура, ВыбКонПериода)) + "домножили..."); сп = тз.УшлоКол * Окр( ЦенаЗакупки(тз.Номенклатура, ВыбКонПериода) * 1.25, 0, 1 ); Иначе сообщить(" не домножили..."); сп = тз.УшлоКол * ЦенаЗакупки(тз.Номенклатура, ВыбКонПериода); КонецЕсли; сообщить("себестоимость " + тз.Номенклатура + " = " + сп); тз.СебестПрод = сп; тз.НоваяСтрока(); тз.Номенклатура = Запрос.Номенклатура.Родитель; тз.СебестПрод = сп; тз.НоваяСтрока(); тз.Номенклатура = Запрос.Номенклатура.Родитель.Родитель; тз.СебестПрод = сп; Если (тз.Номенклатура.Уровень()=2) Тогда тз.НоваяСтрока(); тз.Номенклатура = Запрос.Номенклатура.Родитель.Родитель.Родитель; тз.СебестПрод = сп; КонецЕсли; КонецЕсли; КонецЦикла; помогите пожа-ста разобратся нужно чтобы возвращала закупочную цену
Код: Функция ЦенаЗакупки(ном, д) Возврат глПолучитьЦену(ном, Константа.ЗакупочныйТипЦен, д, ном.БазоваяЕдиница); КонецФункции // ЦенаЗакупки() . . . Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб, тз, регн, регк, сз;[code]
и что странно Код: функция ЦенаЗакупки(ном, д) Возврат глПолучитьЦену(ном, Константа.РозницныйТипЦен, д, ном.БазоваяЕдиница); КонецФункции // ЦенаЗакупки() -работает
тогда стандартно банальные вопросы Константа.ЗакупочныйТипЦен - заполнена? Цены в справочниках проставлены?
да. смотрю отладчиком ниче не пойму после сравнения Код: Если ПустоеЗначение(НайденнаяЦена) = 1 Тогда // Нет такой цены Возврат 0; КонецЕсли; возвращает 0, хотя она есть) + константа.ЗакупочныйТипцен идентификатор Константа.ЗакупочныйТипЦен типЗначения Справочник.ТипыЦен Спасибо тему можно закрыть. Впорос решен.