IRC logs of #tryton for Saturday, 2009-02-14 #tryton log beginning Sat Feb 14 00:00:01 CET 2009
carlosbechamel: thanks anyway00:00
cedkvengfulsquirrel: no, you can not substitute one phantom product with an other, you can substitute one bom with an other one that produce the same products (or phantom products)00:00
carlosACTION -> bed00:00
carlosgood night!!00:00
vengfulsquirrelcedk: Yeah sorry you can with product substitutes though, in addition to the bom selection you are talking about.00:01
vengfulsquirrelThey are two seperate problems.00:01
cedkvengfulsquirrel: for me if two products can be substituated, then there are part of two boms that produce a phatom product00:02
cedkvengfulsquirrel: the phatom product is the meta-product that is used to say that it can be one of those products00:03
vengfulsquirrelwell no something like ACME turbine subassembly, and ABC turbine subassembly00:03
vengfulsquirrelthose would be two substitutable phantom products00:03
vengfulsquirrelyou are talking about substituting two BOMs for ACME turbine subassembly00:04
cedkvengfulsquirrel: so you have two boms that product the same phatom product "turbine"00:04
vengfulsquirrelwhich are two different ideas00:04
cedkvengfulsquirrel: it is the same00:05
cedkvengfulsquirrel: it is just a matter of configuration of boms00:05
vengfulsquirrelYeah okay I think that sounds like the are equivlant except it takes power out of the initial bom creator's hands.  In order to enforce a set substitution you must create an additional phantom product and create its bom.   So now you have to maintain two boms in sync to enforce standards.00:07
vengfulsquirrelI don't know if they are necessarily equivalent from that perspective.00:07
vengfulsquirrelI think alternative boms should mostly just be an improvement on the initial bom and not so much a completely different product.00:08
cedkvengfulsquirrel: any way, you must create something to say those products can be substituate00:09
cedkvengfulsquirrel: I don't think so because the output can be a little bit different (more trashed)00:09
vengfulsquirrelYeah the alternative boms can definitely be different but I don't think they should be creating different brands.00:10
vengfulsquirrelYeah I will need to address the bom selection at multiple levels that was something I did not think about.00:11
vengfulsquirrelAlthough it wasn't supposed to be in the production module proper.00:11
vengfulsquirrelMaybe it will have to be.00:11
cedkvengfulsquirrel: I think it can be done with the list I told before00:11
vengfulsquirrelYeah okay00:11
cedkvengfulsquirrel: I think it will be too difficult to add this with external module00:12
vengfulsquirrelWell I hadn't planned on so many wizards and I thought it could be made more linear.00:12
vengfulsquirrelAnyways, I have to think about the bom selection and substitution and bom explosion step more.00:13
cedkvengfulsquirrel: for me, the bom explosion looks like a tree00:13
cedkvengfulsquirrel: so you can displaied it in a list with level00:13
cedkvengfulsquirrel: and perhaps changing it can be made with a wizard, in which you say this bom must be changed with this one00:15
vengfulsquirrelYeah but substitution and selection must happen over and over again.00:17
vengfulsquirrelAnd substitution might need to be involved in the inventory allocation process as well, for exmaple if things are not in stock.00:17
vengfulsquirrelSo you might switch from one phantom product to another phantom product if the first one's materials are not available.00:17
cedkvengfulsquirrel: once again, you don't switch phatom product but phatom bom00:18
cedkvengfulsquirrel: and yes, the wizard is just to update the bom explosion00:19
cedkvengfulsquirrel: and not to change the state00:19
vengfulsquirrelYeah okay I have to think about it but I think that will cause a lot of trouble for production companies that need engineering to enforce restrictions on boms.00:20
vengfulsquirrelAnyways that's a problem that needs more though.  I'm also concerned about the inventory layout.00:21
cedkvengfulsquirrel: don't understand00:21
vengfulsquirrelSo if a production order was started running and then the user wanted to cancel it: They would click cancel and all the moves would be changed from assigned to canceled ?00:25
cedkvengfulsquirrel: I think so00:25
vengfulsquirrelI think I need a better diagram or something this is confusing.  Do you think use cases would help ?  Or maybe mockups ?00:26
cedkvengfulsquirrel: I don't know00:27
cedkvengfulsquirrel: but I don't see any problem to cancel the moves00:28
vengfulsquirrelWell I guess if a module was created to extend this then they would not be canceled but new moves would be created to account for what actual happened production.00:30
vengfulsquirrelI'm just trying to envision how it could be altered to allow other businesses to use it.00:31
cedkvengfulsquirrel: yes of course it will be the default behavior00:31
cedkvengfulsquirrel: or perhaps, we can cancel out moves and set in move to done and create the opposite in move to put back the products00:32
cedkvengfulsquirrel: and a wizard could change the destination location to put it in lost and found, etc...00:33
vengfulsquirrelYeah I guess I am confused on what Lost and Found is for.00:34
vengfulsquirrelI thought it was for tracking things that were lost or found to hopefully account for inaccuracies.00:34
cedkvengfulsquirrel: per example if during the process you broke some products00:34
vengfulsquirrelAs a sort of reporting tool.00:34
cedkvengfulsquirrel: lost and found if generic term to say don't compute it in stock00:35
cedkvengfulsquirrel: but you can create many lost and foudn location for different purpose00:35
cedkit is late here00:37
cedkI'm going to sleep00:37
-!- cedk(n=ced@gentoo/developer/cedk) has left #tryton00:37
vengfulsquirrelcedk: Okay I don't know if you'll get this but I mean Consumed and Produced to be Lost/Found type locations.00:43
-!- bechamel(n=user@ has left #tryton01:01
-!- vengfulsquirrel( has left #tryton01:12
-!- ikks(i=igor@ has joined #tryton03:29
-!- juanfer(n=juanfer@ has joined #tryton03:37
-!- ikks(i=igor@ has joined #tryton04:05
-!- ikks(i=igor@ has joined #tryton04:53
-!- yangoon( has joined #tryton05:19
-!- cedric_b( has joined #tryton05:45
-!- ChanServ(ChanServ@services.) has joined #tryton05:45
-!- panthera( has joined #tryton05:45
-!- paola( has joined #tryton07:45
-!- carlos(n=carlos@ has joined #tryton08:27
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton09:30
-!- sharkcz( has joined #tryton09:39
cedkcarlos: ping09:39
carloscedk: pong09:40
cedkcarlos: for your SOAP issue09:40
cedkcarlos: you can perhaps implement a SOAP protocols on Tryton09:40
carlosI'm creating a Tryton module with a SOAP service09:40
carloscedk: I thought about that too09:40
cedkcarlos: I don't think it can be do in a module09:41
carloscedk: and if you find it useful, I will do it as the second phase09:41
carloscedk: well, I can be done to be used for that module09:41
carlosusing a different port09:41
cedkcarlos: but I don't know if the POS can be addapted to any SOAP09:41
carlosand as a second phase, integrated with the xmlrpc daemon in a different path09:42
carloss/xmlrpc daemon/httpdaemon/09:42
carloscedk: the one from OpenBravoPOS requires an ExternalSales service with all methods09:43
carlosso I guess we could use the /soap/ExternalSales/ namespace09:43
cedkcarlos: but in a module, you will not be able to catch SIGTERM to stop the daemon09:43
carlosfor that task09:44
carloshmmm, I see what you mean09:44
carloscedk: Maybe adding also a Tryton Service that just listens for such signal to know when to stop it?09:44
cedkcarlos: but if POS call very specific method, perhaps you must write your own server that use Tryton as a library09:45
carloscedk: I need this for 1.0 but I don't want to modify the core too much09:45
carloscedk: yeah, that was I was planning, but doing it as a module instead of an external service09:46
cedkcarlos: so I think the best option is a separate process that use Tryton as library09:46
carlosbut I guess it makes sense to do an external daemon and integrate it with 1.2 or later versions09:46
cedkcarlos: I'm not sure this good to integrate it if it is too specific09:47
carloswith the integration I talk about your suggestion of adding soap support to Tryton09:47
carlosif we add soap support to Tryton, I could integrate it as a Tryton module, just as another service09:48
cedkcarlos: yes but if OpenbravoPOS can not be adapted to talk with other software, it is not very useful09:49
carloshowever, my idea is to develop a 'native' pos for tryton, instead of using openbravopos so maybe it makes no sense at all... unless soap service is really useful for something else09:49
carloscedk: the openbravopos is just a workaround to get something working now09:49
cedkcarlos: it is no complicate to add a protocol but the main issue is that you must be able to customize the client to talk the same dialect09:50
carloscedk: well, you have the code there, but I don't want to modify openbravopos, I prefer to work directly with Python09:50
carlosthen we should leave it outside the stack, neither I or my company is going to expend resources changing the client09:51
cedkcarlos: yes I understand, so you can not customize how POS will talk so it is preferable to make an external daemon that make the glue instead of putting the glue in the Tryton server09:51
carlosit has just three methods09:51
cedkcarlos: so very simple09:52
carlosand we need to implement those three methods (that's why using openbravopos is not a good idea as the Tryton's pos)09:52
carlosthe sync is done on demand by the user09:52
carlosnot automatically, so it's just an ugly hack that they did to integrate it with OpenBravo09:52
cedkcarlos: yes but this can work very fast instead of writing an new POS09:53
carlosright, that's why I'm going that path09:53
carloswhile we prepare the native POS09:54
-!- Timitos(n=Timitos@ has joined #tryton10:02
-!- enlightx( has joined #tryton10:11
-!- paola( has joined #tryton11:30
carloscedk: I think I'm going to use netrpc interface instead of Tryton as a library so I don't need to care about user security or permissions myself11:39
carlosso my program exports a SOAP API and maps it to the Tryton's netrpc interface11:40
cedkcarlos: this is also a good solution11:40
carlosI want to put there as less logic as possible11:40
cedkcarlos: I understand by the way it is good to prefere netrpc than xmlrpc11:43
carlosas far as I know netrpc is more efficient than xmlrpc for remote links, isn't it?11:44
-!- Timitos(n=Timitos@ has joined #tryton11:46
cedkcarlos: for remote and also local link11:48
carlossure, however latency in local link is not so bad so I guess the change is not so obvious11:52
-!- Timitos(n=Timitos@ has joined #tryton12:46
CIA-10tryton: htgoebel roundup * #779/res = self.cursor.execute(sql, params): [new] Traceback (most recent call last): File "/trytond/protocols/", line 54, in run res = dispatch(*msg) File "/trytond/protocol ...13:03
CIA-10tryton: htgoebel roundup * #779/res = self.cursor.execute(sql, params): [chatting] [Sat Feb 14 13:02:48 2009] ERROR:sql:Wrong SQL: INSERT INTO "account_tax" (id,"description","parent","sequence","company","invoice_acco ...13:06
-!- carlos(n=carlos@ has joined #tryton14:56
-!- yangoon( has joined #tryton14:56
CIA-10tryton: Timitos roundup * #779/SKR03: NULL-Wert in Spalte Ā»report_codeĀ« verletzt Not-Null-Constraint: this error depends on our module account_invoice_line_tax which is still under development. this module is no more needed. this module has not bee ...16:02
cedkTimitos: you can close the issue779 if you want16:15
Timitoscedk: ok. you are right. thx16:16
cedkTimitos: and by the way assign it to you :-)16:16
CIA-10tryton: matb roundup * #423/operator: contains behaves strange with underscores: I would favor nevertheless an operator "word begins". That it has to be contained in the search expression, is IMHO far more obvious than that the ...16:36
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton17:31
-!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton18:51
-!- paola( has joined #tryton19:31
-!- enlightx( has joined #tryton21:01
-!- enlightx( has joined #tryton21:38
-!- cristi_an(i=5978d3ce@gateway/web/ajax/ has joined #tryton22:51
CIA-10tryton: matb roundup * #780/BadZipfile: File is not a zip file: [new] Actualize translations of reports: Traceback (most recent call last): File "/trytond/protocols/", line 54, in run res = disp ...22:51
-!- ikks(i=igor@ has joined #tryton22:53

Generated by 2.11.0 by Marius Gedminas - find it at!