0
bezdarOR Enburgski
01.08.20
✎
13:10
|
Прошу помощи, ибо я только начинающий по 1с
Нужно немного доработать уже готовый отчет (МЕню.Требование) в конфигурации Медицина. Диетическое питание редакция 2.0
А именно добавить в поле "Фактическая стоимость", собственно фактическую стоимость.
К сожалению, я не могу толком разобраться в готовом коде и поэтому прошу объяснить мне, что, где и откуда берется))
Ниже приложу код главной функции, и функции расчета числа из категории питающихся.
|
|
1
bezdarOR Enburgski
01.08.20
✎
13:15
|
Вот функция для расчета численности довольствующихся
Функция ПолучитьДанныеДляПодсчетаИтоговЧисленности(ТЗКатегории) //***//
// Результат = Новый ТаблицаЗначений;
// Результат.Добавить(); // Количество
// Результат.Добавить(); // Проба.
СтруктураКоличество = Новый Структура;
СтруктураПроба = Новый Структура;
Для каждого СтрокаИтоговыхКолонок Из ИтоговыеКолонки Цикл
Идентификатор = СтрокаИтоговыхКолонок.Идентификатор;
// Результат.Колонки.Добавить(ИмяКолонки, Новый ОписаниеТипов("Число"));.
СтруктураКоличество.Вставить(Идентификатор, 0);
СтруктураПроба.Вставить(Идентификатор, 0);
Если СтрокаИтоговыхКолонок.СистемнаяКолонка Тогда
СтруктураПоиска = Новый Структура("КатегорияПитающихся,Проба", СтрокаИтоговыхКолонок.КатегорияПитающихся, СтрокаИтоговыхКолонок.Проба);
НайденныеСтроки = ТЗКатегории.НайтиСтроки(СтруктураПоиска);
Если НайденныеСтроки.Количество() > 0 Тогда
Если СтрокаИтоговыхКолонок.Проба Тогда
СтруктураПроба.Вставить(Идентификатор, НайденныеСтроки[0].Количество);
Иначе
СтруктураКоличество.Вставить(Идентификатор, НайденныеСтроки[0].Количество);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ВремДанные = ИтоговыеКолонки.Выгрузить();
ВремДанные.Сортировать("ИндексРасчета");
Для каждого СтрокаИтоговыхКолонок Из ВремДанные Цикл
Если СтрокаИтоговыхКолонок.СистемнаяКолонка Тогда
Продолжить;
КонецЕсли;
Идентификатор = СтрокаИтоговыхКолонок.Идентификатор;
Формула = СтрокаИтоговыхКолонок.Формула;
Значение = 0;
Если РассчитатьФормулу(Формула, Значение, СтруктураКоличество) Тогда
СтруктураКоличество.Вставить(Идентификатор, Значение);
КонецЕсли;
Значение = 0;
Если РассчитатьФормулу(Формула, Значение, СтруктураПроба) Тогда
СтруктураПроба.Вставить(Идентификатор, Значение);
КонецЕсли;
КонецЦикла;
Результат = Новый Структура("Количество,КоличествоПроба", СтруктураКоличество, СтруктураПроба);
Возврат Результат;
КонецФункции // ()
|
|