Property spdstatusfinalizado As %Integer(CAPTION = "Status do pedido finalizado", DISPLAYLIST = ",ANÁLISE COMERCIAL,ANÁLISE FINANCEIRA,EM CARTEIRA", VALUELIST = ",1,2,5") [ InitialExpression = 1 ];- Log in to post comments
Property spdstatusfinalizado As %Integer(CAPTION = "Status do pedido finalizado", DISPLAYLIST = ",ANÁLISE COMERCIAL,ANÁLISE FINANCEIRA,EM CARTEIRA", VALUELIST = ",1,2,5") [ InitialExpression = 1 ];The valuesare reportedon the screenbycspbindproperty.
Yes I tried to do this, but the select component used here is not the standard, then I would have to insert this tag within the component.
I will examine this possibility.
Thank you!
We managed to find a stopgap solution that proved interesting:
in component
<Select>
<Option value = "COMMERCIAL ANALYSIS"> </ option>
</ Select>
We added the value of the displayList that is in the Property.
In this way we managed to do the system to display and save the information without any problems.
Do you think it can cause some other problem?
If you find any other way to be better, I'll be waiting.
Yes, we create a component in javaScript, it sends a CACHE function to the text file, the internal function created in CACHE, this text is converted to base 64, and then we save the text (url of the file).
ClassMethod enviarAnexo(idEncriptado As %String, nomeArquivo As %String, streamArquivo As %CSP.CharacterStream) As %String
{
#dim id AS %String
#dim resposta AS %String = ""
#dim exception AS %Exception.AbstractException
#dim estimativa AS EstimativaPrecoVenda
try {
set id = ##class(%CSP.Page).Decrypt( idEncriptado )
if (..%ExistsId(id)){
set estimativa = ..%OpenId(id)
do estimativa.anexo.send(nomeArquivo, streamArquivo)
do estimativa.%Save()
set resposta = $$$OK
}
} catch exception {
set resposta = $$$FormatText("%1 - %2",exception.Name, exception.Data)
}
quit resposta
}
Method send(nameFile As %String, streamFile As %CSP.CharacterStream) As %Status
{
#dim stream As %FileBinaryStream
set stream = ##class(GlobalBinaryStreamUtil).convertDataStream( streamFile )
do ##class(GlobalBinaryStreamSpec).validateNameFile( nameFile )
do ##class(GlobalBinaryStreamSpec).validateExtensionFile( nameFile )
do ##class(GlobalBinaryStreamSpec).validateSizeFile( stream.Size )
do ..strnameSet( ##class(GlobalBinaryStreamUtil).sanitizeName(nameFile) )
do ..objfile.CopyFromAndSave( stream )
quit $$$OK
}
ClassMethod convertDataStream(streamFile As %CSP.CharacterStream) As %FileBinaryStream
{
#dim stream As %FileBinaryStream
#dim text As %String
set stream = ##class(%FileBinaryStream).%New()
if ($isObject(streamFile)){
set text = streamFile.Read( streamFile.Size )
do stream.Write( ..convertTextPlain( text ) )
} else {
do stream.Write( ..convertTextPlain( streamFile ) )
}
quit stream
}
ClassMethod convertTextPlain(streamFile As %String) As %String [ Private ]
{
#dim textPlain As %String
#dim exception AS %Exception.AbstractException
try {
set textPlain = $SYSTEM.Encryption.Base64Decode(streamFile)
} catch exception {
if ( exception.Name = "<ILLEGAL VALUE>"){
set textPlain = streamFile
} else {
throw exception
}
}
quit textPlain
}
ClassMethod sanitizeName(nameFile As %String) As %String
{
quit $translate(nameFile," ","_")
}
Have you looked in the documentation?
Thank's!
You can close the process through the administration portal
Very cool
Good, I hope make this program meetup in Brazil.
In summary, I need to do an ordering within another order in a report.
I have the ordering of the main grouping, and I need to sort the items in that grouping.
Sometimes the studio consumes a lot of memory and crashes during some processes.
I (agrup=1) {
S COD = query.Get("pscodigo")
I (COD="") S COD = "000" DESC = query.Get("psnome")
I (DESC="") S DESC = "NAO DEFINIDO" (ordenacao=1)
S K2=DESC_"^"_COD S K2=expert.completaString(COD,0,6)_"^"_DESC
}
S K3 = descrProd_"^"_codProduto_"^"_idProduto S ^mtempJOB(controladorjob,K1,K2,K3)=$LB(...)
I was able to solve the problem as follows:
if ((ordenaProduto = 0) || (ordenaProduto = 1)) {
set ordemProd = query.Get("fatiqtde")
} elseif ((ordenaProduto = 2) || (ordenaProduto = 3)) {
set ordemProd = query.Get("valortotliq")
}
set ^mtempJOB(controladorjob,K1,K2,ordemProd,K3) = $listbuild( codProduto
,descrProd
,(qtdOld+$select(BP2:query.Get("fatiqtde"),1:0))
,(pesoOld+$select(BP2:query.Get("peso"),1:0))
,(vlrOld+query.Get("valortotliq"))
,(brutoOld+query.Get("bruto")))
If it's not in a shortcut of keys, as it was in Studio, it's very likely that the intersystems developer team will be working on that, so we can have all the studio features in a better way in Atelier.
But from what I noticed.
At the end of the class, there is a Storage Default where you can see the same data.
I have not seen any specific screen like in Studio.
But I think that will help you.
You can do it in three ways:
1 -
set ^mtemperro($ZNSPACE,..%PackageName()_"."_..%ClassName(),$horolog) = mensagem_" Erro CACHE: "_$zerror_" - "_$SYSTEM.OBJ.DisplayError()
2 -
Throw ##class(%Exception.General).%New("Falha ao sinalizar o lançamento do PDA como rastreado.",1,..%ClassName()_".upByRastreado","Informe ao suporte sobre o problema.").Log()
3 - Declare in your class an exception variable
#dim exception As% Exception.AbstractException
catch exception {
do exception.Log()
}
Then just check the cache administration portal:
System Operation-> System Logs-> Application Error Log
Why you don't call a method and into this method you show the message with &JS<>, you was try this?
You want a image that on click in a image position, show more images, how a presentation?