Windows 서비스에 대한 날짜 시간 필터를 만들면 오류가 발생합니다.

10249 단어 quickeebooks

묘사

나는 하나의 예에 따라 이 컨트롤러를 설정했다
class AtestController < ApplicationController
    def index
        if session[:access_token]
            filters = []

            d1 = Time.mktime(2011, 5, 1)
            d2 = Time.mktime(2011, 8, 1)
            filters << Quickeebooks::Windows::Service::Filter.new(:datetime, :field => 'CreateTime', :after => d1, :before => d2)

            customer_service = Quickeebooks::Windows::Service::Customer.new
            customer_service.access_token = session[:access_token]
            customer_service.realm_id = session[:realm_id]
            customer_service.list

            customers = customer_service.list(filters, 1, 30, nil)
        end
    end

end
rails 다음 오류 던지기
ArgumentError at /atest
Don't know how to generate a Filter for type datetime
Createtime은 이 페이지의 고객이 조회할 수 있는 필드가 아니라는 것을 알고 있습니다
https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/0500_QuickBooks_Windows/0600_Object_Reference/Customer
그러나 모든 DateTime 조회 필드는 before와:after가 지정한 범위가 아닌 DateTime만 받아들일 수 있는 것 같습니다.

토론 #1

이상하다.어떤 버전의 Quickeebooks를 사용하십니까?
0.1.1(실제 0.1.3의 최신 버전)이 로드된 콘솔에서 다음을 수행합니다.
1.9.3p327>d1=시간.mktime(2011년 5월 1일)
=> 2011-05-01 00:00:00 -0700
1.9.3p327>d2 = 시간.mktime(2011년 8월 1일)
=> 2011-08-01 00:00:00 -0700
1.9.3p327>Quickeebooks::Windows::Service::Filter.새로 만들기(:datetime,:field=>CreatetTime,:after=>d1,:before=>d2)
=>Create Time: 이전: 2011-08-01T00:00-0700: 및:Create Time: 이후: 2011-05-01T00:00:00-0700
2013년 3월 21일 오후 1:48, 마이클 혜틀리[email protected]쓰기:

I set up this controller based on one of the examples

class AtestController < ApplicationController def index if session[:access_token] filters = []

``` d1 = Time.mktime(2011, 5, 1) d2 = Time.mktime(2011, 8, 1) filters << Quickeebooks::Windows::Service::Filter.new(:datetime, :field => 'CreateTime', :after => d1, :before => d2)

    customer_service = Quickeebooks::Windows::Service::Customer.new
    customer_service.access_token = session[:access_token]
    customer_service.realm_id = session[:realm_id]
    customer_service.list

    customers = customer_service.list(filters, 1, 30, nil)
end

end ```

end And rails throws the following error

ArgumentError at /atest Don't know how to generate a Filter for type datetime I know that CreateTime isn't a queryable field for Customer from this page

https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/0500_QuickBooks_Windows/0600_Object_Reference/Customer

but it appears that all the DateTime queryable fields only accept one DateTime, not ranges like are specified by the :before and :after.

— Reply to this email directly or view it on GitHub.

토론 #2

나는 환매 협의에서 그것을 얻었다
gem 'quickeebooks', :github => 'ruckus/quickeebooks'
이렇게 하면 나는 새로운 서비스를 받을 수 있다
나는 단지 콘솔에서 시험해 보았을 뿐, 너와 같은 반응을 얻었다.
irb(main):007:0> Quickeebooks::Windows::Service::Filter.new(:datetime, :field => 'CreateTime', :after => d1, :before => d2)
=> CreateTime :BEFORE: 2011-08-01T00:00:00Central Daylight Time :AND: CreateTime :AFTER: 2011-05-01T00:00:00Central Daylight Time
나는 디버깅 과정에서 다음에 무엇을 해야 할지 확실하지 않다.

토론 #셋

이상하다.콘솔의 출력을 확인하십시오. 시간대 (중앙 여름철) 를 포함하고 있습니다. 인투잇에 들어가면 실패할 것 같습니다.
어떤 버전의 Ruby를 사용하십니까?
2013년 3월 21일 오후 2:03, 마이클 혜틀리[email protected]쓰기:

I'm sourcing it from the repo

gem 'quickeebooks', :github => 'ruckus/quickeebooks' so I can get the new services

I just tried that in the console and got the same response that you did

irb(main):007:0> Quickeebooks::Windows::Service::Filter.new(:datetime, :field => 'CreateTime', :after => d1, :before => d2) => CreateTime :BEFORE: 2011-08-01T00:00:00Central Daylight Time :AND: CreateTime :AFTER: 2011-05-01T00:00:00Central Daylight Time I'm not sure where to go next in the debugging process.

— Reply to this email directly or view it on GitHub.

토론 #4

에는 오류에 대한 정보가 더 많은데 사실은 그렇다.목록 이름
irb(main):014:0> customers = customer_service.list(filters, 1, 30, nil)
ArgumentError: Don't know how to generate a Filter for type datetime
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/shared/service/filter.rb:49:in `t
o_xml'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/service_base.rb:9
4:in `block in fetch_collection'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/service_base.rb:9
4:in `collect'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/service_base.rb:9
4:in `fetch_collection'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/customer.rb:9:in
`list'
        from (irb):14
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
        from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'
보아하니 잘못은
/lib/quickeebooks/shared/service/filter.rb
to xml 함수에:datetime 옵션이 없습니다.있어야 되나?

토론 #5

아, 그래, 일리가 있어.그래, 나는 지금 문제의 소재를 완전히 이해했다.
내 요청 생성 테스트가 엉망이었다는 것도 돋보인다.
나는 다음날쯤에 이 문제를 해결해 보려고 한다.
2013년 3월 21일 오후 2:16, 마이클 혜틀리[email protected]쓰기:

So here's a little more on the error, it's actually when the .list is called

irb(main):014:0> customers = customer_service.list(filters, 1, 30, nil) ArgumentError: Don't know how to generate a Filter for type datetime from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/shared/service/filter.rb:49:in t o_xml' from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/service_base.rb:9 4:inblock in fetch_collection' from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/service_base.rb:9 4:in collect' from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/service_base.rb:9 4:infetch_collection' from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/bundler/gems/quickeebooks-c3fd766e575b/lib/quickeebooks/windows/service/customer.rb:9:in list' from (irb):14 from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:47:instart' from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in start' from c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/commands.rb:41:in' from script/rails:6:in require' from script/rails:6:in

' looks like the error is in

/lib/quickeebooks/shared/service/filter.rb

there isn't a :datetime option under the to_xml function. Should there be?

— Reply to this email directly or view it on GitHub.

토론 #6

나는 나의 갈라진 리포에서datetime to xml 함수를 실현했다.@value를 사용해야 합니다.xmlschema는 정확한 형식으로 날짜와 시간을 가져옵니다.포맷된 time (@value) 을 사용하면 포맷이 올바르지 않습니다.내 시스템이 시간대를 포함할 때 우리가 이전에 본 적이 있다고 생각한다.
제 컨트롤러에 이 코드가 있어요.
if session[:access_token]
            filters = []
            datetime = Time.mktime(2011, 2, 25)
            filters << Quickeebooks::Shared::Service::Filter.new(:datetime, :field => 'StartCreatedTMS', :value => datetime)
            #filters << Quickeebooks::Shared::Service::Filter.new(:boolean, :field => 'IncludeTimeEntryEnum', :value => true)
            employees = Quickeebooks::Windows::Service::Employee.new
            employees.access_token = session[:access_token]
            employees.realm_id = session[:realm_id]
            @all_employees = employees.list(filters, page = 1, per_page = 50, sort = nil, options = {})
        end
만약 내가 첫 번째 필터만 있다면, 나는 이 오류를 얻게 될 것이다
IntuitRequestException at /atest
cvc-complex-type.2.4.a: Invalid content was found starting with element 'StartPage'. One of '{"http://www.intuit.com/sb/cdm/v2":EndCreatedTMS, "http://www.intuit.com/sb/cdm/v2":SortByColumn, "http://www.intuit.com/sb/cdm/v2":FirstLastName, "http://www.intuit.com/sb/cdm/v2":FirstLastEnd, "http://www.intuit.com/sb/cdm/v2":FirstLastStart, "http://www.intuit.com/sb/cdm/v2":FirstLastInside, "http://www.intuit.com/sb/cdm/v2":IncludeTimeEntryEnum}' is expected.
그래서 두 번째 필터를 추가했습니다. (위의 컨트롤러 코드에 설명) 지금 이 오류를 얻었습니다.
IntuitRequestException at /atest
cvc-complex-type.2.4.d: Invalid content was found starting with element 'StartPage'. No child element is expected at this point.

토론 #7

API는 쿼리 필드의 순서에 민감합니다.StartPage 및 ChunkSize 필드를 통과된 필터 필드 앞으로 이동합니다.끌어오기 요청이 전송되었습니다.

좋은 웹페이지 즐겨찾기