Приклади робочих скриптів у звітових формах
Re: Вопросы по базам данных в отчётных формах.
Можливо є якийсь інший код щоб цільове по новому класифікатору?
Re: Вопросы по базам данных в отчётных формах.
Vetaley писав:Код работает как надо:
NaznCelNom - вытягивает код целевого
NaznCelName - название целевого без номера
пробовал по-разному, но вытянуть номер секции у меня так и не вышло как вы это делаете?
Код работает как надо, но вытягивает номер секции и номер целевого, например "В.02.06". А просят, походу, чтобы было без номера секции, например "02.06". Это очень просто изменить! Дело в том, что изначально в базе хранится только номер в поле DM2.TbTypeUse."Number" чтобы вытягивать вместе секцией (да, просили так, чтобы и буква секции была!), сделали дополнительное поле в котором "В.02.06", это поле DM2.TbTypeUse."Number2"
Пример кода рассчитан на второй вариант. Чтобы использовать без номера секции, достаточно убрать двоичку в названии поля. Получится такой код:
Код: Виділити все
NaznCelNom := '';
NaznCelName := '';
If LocateData( 'DM2.TbUses', 'ID_Uses', <DM1.TbUser."ID_Uses">) = True Then
begin
If RecordCount('DM2.TbUsesLnk') > 0 then
begin
DataFirst( 'DM2.TbUsesLnk');
While DataEOF( 'DM2.TbUsesLnk') = False Do
begin
If LocateData( 'DM2.TbTypeUse', 'ID_TypeUse', GetValue('DM2.TbUsesLnk', 'ID_TypeUse')) = True Then
begin
NaznCelNom := NaznCelNom + <DM2.TbTypeUse."Number2"> + ', ';
NaznCelName := NaznCelName + <DM2.TbTypeUse."Name"> + ', ';
end;
DATANEXT( 'DM2.TbUsesLnk');
end;
end;
NaznCelNom := Copy(NaznCelNom, 1, Length(NaznCelNom)-2);
NaznCelName := Copy(NaznCelName, 1, Length(NaznCelName)-2);
end;
Re: Вопросы по базам данных в отчётных формах.
Vetaley писав:Уважаемый Николай! Помогите пожалуйста с планом обмежень!!! Никак не могу подставить площадя, а взять готовую конструкцию неоткудова (((
Шаблон выслал Вам на электронку. Спасибо!
По поводу этого, отослал Вам шаблончик на почту. Для тех, кому тоже интересно, объясняю. Есть шаблон план зон ограничений, где под рисунком есть несколько условных обозначений, типа: зелёным отображаются ограничения с номером 01.05 и 01.06, синим - 01.08, красным - 01.04. И напротив каждого условного обозначения должна прописываться общая площадь ограничений этого типа. Например:
Охоронна зона навколо інженерних комунікацій (код обмеження 01.08) (4.3), площа обмеження - 0,0343 га.
Чтобы это забабахать, надо делать код, но он индивидуальный для разных наборов ограничений, площадь которых вы хотите вывести. Вот код согласно примеру:
Код: Виділити все
//---------------------------------------------------------------------------------------------------
//Подсчёт площади ограничений
Lim1 := 0;
Lim2 := 0;
Lim3 := 0;
LimOther := 0;
DATAFIRST( 'DM1.TbLimination');
While Not DATAEOF( 'DM1.TbLimination') Do
Begin
Other := true;
If (LocateData('DM2.TbTypeRestrict', 'ID_TypeRestrict', <DM1.TbLimination."ID_TypeRestrict">) = true)
and (<DM1.TbLimination."DateFirst"> < Date) And ((<DM1.TbLimination."ID_TypeTermin"> = 0)
or ((<DM1.TbLimination."ID_TypeTermin"> = 1) and
((<DM1.TbLimination."DateLast"> > Date) or (<DM1.TbLimination."DateLast"> is Null )))) then
Begin
// 01.06.05
If (<DM2.TbTypeRestrict."Number"> = '01.05') or (<DM2.TbTypeRestrict."Number"> = '01.06') Then
begin
Lim1 := Lim1 + <DM1.TbLimination."Area">;
Other := false;
end;
// 01.08
If <DM2.TbTypeRestrict."Number"> = '01.08' Then
begin
Lim2 := Lim2 + <DM1.TbLimination."Area">;
Other := false;
end;
// 01.04
If <DM2.TbTypeRestrict."Number"> = '01.04' Then
begin
Lim3 := Lim3 + <DM1.TbLimination."Area">;
Other := false;
end;
// остальные ограничения
If Other = true Then
LimOther := LimOther + <DM1.TbLimination."Area">;
End;
DATANEXT( 'DM1.TbLimination');
End;
В данном случае создаются три переменных и в них суммируется площадь ограничений соответствующих типов. Для своего задания нужно создавать столько переменных, сколько надо разных типов показать, причём на каждый тип отдельный кусочек кода, чтобы отбирать площадь отдельных видов ограничения. Причём в подсчёте учитываються только действующие ограничения.
Re: Вопросы по базам данных в отчётных формах.
((( "Набір даних "" не знайдений"!
К чему бы это?
К чему бы это?
Re: Вопросы по базам данных в отчётных формах.
Vetaley писав:((( "Набір даних "" не знайдений"!
К чему бы это?
може через це:
Чтобы это забабахать, надо делать код, но он индивидуальный для разных наборов ограничений, площадь которых вы хотите вывести.
Re: Вопросы по базам данных в отчётных формах.
Denver писав:Vetaley писав:((( "Набір даних "" не знайдений"!
К чему бы это?
може через це:Чтобы это забабахать, надо делать код, но он индивидуальный для разных наборов ограничений, площадь которых вы хотите вывести.
Нет.
Vetaley писав:((( "Набір даних "" не знайдений"!
К чему бы это?
Хм... не понял. Это та отчётная форма, что я подправил? Вы в ГИС6 её используете? Попробуйте зайти в список подключенных таблиц и нажать ОК.
Re: Вопросы по базам данных в отчётных формах.
NickS писав:Хм... не понял. Это та отчётная форма, что я подправил? Вы в ГИС6 её используете? Попробуйте зайти в список подключенных таблиц и нажать ОК.
Прикольно! Глюк такой? Теперь грит "нипанятна шо за переменная DM2.TbTypeRestrict."Number"?
Re: Вопросы по базам данных в отчётных формах.
http://www.ex.ua/view_storage/283991137252 шаблон тута.
ента коза на 3 типичных, наиболее встречаемых ограничения для населенки, кроме того NickS молодчага сбацал переменную "остальные", так что работать должно при любом раскладе.
(когда заработает)))
Denver писав:може через це:Чтобы это забабахать, надо делать код, но он индивидуальный для разных наборов ограничений, площадь которых вы хотите вывести.
ента коза на 3 типичных, наиболее встречаемых ограничения для населенки, кроме того NickS молодчага сбацал переменную "остальные", так что работать должно при любом раскладе.
(когда заработает)))
Re: Вопросы по базам данных в отчётных формах.
Vetaley писав:ента коза на 3 типичных, наиболее встречаемых ограничения для населенки, кроме того NickS молодчага сбацал переменную "остальные", так что работать должно при любом раскладе.
(когда заработает)))
Та Вы меня хоть пристрелите - я нибельмеса в ентих шаблонах не шурупаю
Re: Вопросы по базам данных в отчётных формах.
Vetaley писав:NickS писав:Хм... не понял. Это та отчётная форма, что я подправил? Вы в ГИС6 её используете? Попробуйте зайти в список подключенных таблиц и нажать ОК.
Прикольно! Глюк такой? Теперь грит "нипанятна шо за переменная DM2.TbTypeRestrict."Number"?
Да просто я забыл подключить таблицу DM2.TbTypeRestrict. Я думаю, Вы это и сами сможете.
Vetaley писав:сбацал переменную "остальные", так что работать должно при любом раскладе.
(когда заработает)))
Всегда нужно предусматривать "неправильные" варианты - это принцип программирования.