davidyantz
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору IUnknown777 К сожалению, в функцию Сумма1 попадают все услуги из ВСЕХ документов. Мне кажется, ТекущийДокумент, указанный в Док = Документ.ЗаявкаПокупателя.ТекущийДокумент есть не что иное, как ссылка не на текущий открытый документ в 1С, а текущий документ в рамках запроса. А запрос пробегает по всем документам Заявка покупателя. Неужели придётся использовать цикл для такой элементарной вещи? Добавлено: Может, стоит в запрос включить какое-нибудь поле, идентифицирующее документ, чтобы Сумма1 привязывалась только к нему? Ну что-то типа Группировка Док упорядочить по Док.Код ? Добавлено: Но в этом случае будет МАССА ненужной обработки. Печально. Добавлено: В общем, родилась следующая пьеса по поводу запроса: Функция ВыборкаВДокументе(Знач Док, Знач ТипНом) Запрос=СоздатьОбъект("Запрос"); ТекстЗапроса= " | Докум = Документ.ЗаявкаПокупателя.ТекущийДокумент; | Сумма = Документ.ЗаявкаПокупателя.Сумма; | Номенклатура = Документ.ЗаявкаПокупателя.Номенклатура; | Условие (Докум.НомерДок = Док.НомерДок); | Функция Сумма1 = Сумма(Сумма) когда (Номенклатура.ВидНоменклатуры = ТипНом); |"; Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда Сообщить("Запрос не выполнен"); Возврат 0; КонецЕсли; Возврат Запрос; КонецФункции Если внутри 1С механизм запросов реализован как SQL-запрос SELECT из базы, то не страшно, ну а если через циклы... то вай и вах. |