Функция ЕстьВОбластиПараметр(Область, ИмяПараметра)
уникИД = новый УникальныйИдентификатор;
СтруктураПараметров = Новый Структура(ИмяПараметра, уникИД);
ЗаполнитьЗначенияСвойств(СтруктураПараметров, Область.Параметры);
Если уникИД <> СтруктураПараметров[ИмяПараметра] Тогда
Возврат Истина;
иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
думаю, метод Заполнить позволит выйти из ситуации: сформируем структуру со всеми подряд параметрами, в итоге заполнится только совпавшее и проверять на существование будет не надо... как-то так..
4.
Збянтэжаны Саўка
24409.11.11 17:34 Сейчас в теме
romansun пишет:
думаю, метод Заполнить позволит выйти из ситуации
он в моем случае не подходит
я в цикле заполняю параметры с именами <П_№> где № счетчик цикла
а значениями будут поля запроса с именами СуммаЧегото
ну т.е имена не совпадают увы :(
Некоторые ячейки не содержат параметра - пустые.
Вот мне нужно проверить? что ячейка пуста и не заполнять ее.
Типа так:
сч = 0;
Для Каждого стр Из тзПараметры Цикл
сч = сч + 1;
Если стр.НомерСтрокиВОтчете > 0 и стр.НомерСтрокиВОтчете <= 28 Тогда //27
ОбластьГлавная.Параметры["ПЭЭ" + стр.НомерСтрокиВОтчете] = стр.СуммаЭЭ;
ОбластьГлавная.Параметры["ПТЭ" + стр.НомерСтрокиВОтчете] = стр.СуммаТЭ;
//Если ОбластьГлавная.Параметры.Найти("П" + стр.НомерСтрокиВОтчете) <> Неопределено Тогда
ОбластьГлавная.Параметры["П" + стр.НомерСтрокиВОтчете] = стр.Сумма;
//КонецЕсли;
КонецЕсли;
КонецЦикла;
Показать
js-ss пишет:
Скажите пожалуйста как тут создавать ТЕМЫ
Записывай в некую переменную (в Соответствие) те параметры, которые уже присвоил ячейкам, а перед присвоением проверяй есть ли они в данном Соответствии
(8) В 1С как то находил вот такое на проверку свойств в структуре.
Если Форма.Склады.Количество() = 0
И Параметры.Свойство("ОстаткиПоВсемСкладам") // вот тут если параметра нет то на следующею строчку не перейдет и ошибки не будет
И Параметры.ОстаткиПоВсемСкладам Тогда
........
КонецЕсли
Макет = Отчеты.Отчет2.ПолучитьМакет("Макет");
ОбластьМакета = Макет.Область("Область1");
Для НомерСтроки = 1 По 40 Цикл
Для НомерКолонки = 1 По 40 Цикл
Область = Макет.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
Если Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр Тогда
Сообщить(Область.Параметр);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Функция ЕстьВОбластиПараметр(Область, ИмяПараметра)
уникИД = новый УникальныйИдентификатор;
СтруктураПараметров = Новый Структура(ИмяПараметра, уникИД);
ЗаполнитьЗначенияСвойств(СтруктураПараметров, Область.Параметры);
Если уникИД <> СтруктураПараметров[ИмяПараметра] Тогда
Возврат Истина;
иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
Шапка.Параметры.Заполнить(Новый Структура("Номер", ВДЗ.Номер));
И не надо мучаться с Если....
Все в одной строке.
Или
ЗначенияЗаполнения = Новый Структура;
ЗначенияЗаполнения.Вставить("Параметр1", Значение1);
****
Шапка.Параметры.Заполнить(ЗначенияЗаполнения);