chat.freenode.net #tryton log beginning Thu Jan 15 00:00:02 CET 2009 | ||
2009-01-15 00:02 <panthera> has anyone tried to use the openerp webfrontend with tryton already? | ||
2009-01-15 00:41 -!- udono(n=udono@dynamic-unidsl-85-197-23-76.westend.de) has joined #tryton | ||
2009-01-15 01:28 <vengfulsquirrel> Is there any functionality to do record versioning in tryton? | ||
2009-01-15 01:30 <vengfulsquirrel> *Or some code where that design-pattern is implemented | ||
2009-01-15 02:08 <X0d_of_N0d> vengfulsquirrel: for bom revisioning? | ||
2009-01-15 02:11 <vengfulsquirrel> X0d_of_N0d: Yeah I'm just not sure how to go about doing that in a reliable way, wanted to look at an example. | ||
2009-01-15 02:11 <X0d_of_N0d> hum... | ||
2009-01-15 02:13 <vengfulsquirrel> I'm not sure how critical that feature is but I wanted to see if it was easy. I'm kind of worried that the planning might get all f'ed up if the bom's are writable. | ||
2009-01-15 02:13 <X0d_of_N0d> hum... | ||
2009-01-15 02:13 <X0d_of_N0d> well... | ||
2009-01-15 02:13 <X0d_of_N0d> are you trying to impliment some testing code? | ||
2009-01-15 02:15 <vengfulsquirrel> No I implemented something yesterday but it wasn't related to production at all. I'm still just planning but its starting to get a little more specific. | ||
2009-01-15 02:15 <X0d_of_N0d> There are a couple of ways I've seen revisions implimented... | ||
2009-01-15 02:16 <X0d_of_N0d> the first way is to just dump everything into one database and have a revision field. Each time a bom is changed you change the rev | ||
2009-01-15 02:17 <X0d_of_N0d> When a work order is actually issued that is linked to a bom AND a rev, so once a bom is created it's essentially immutable | ||
2009-01-15 02:17 <X0d_of_N0d> ACTION thinks... hum... created it's immutable, that's repeditive huh... | ||
2009-01-15 02:18 <vengfulsquirrel> Yeah I was thinking something like that | ||
2009-01-15 02:19 <X0d_of_N0d> tinyerp does it a different way | ||
2009-01-15 02:19 <vengfulsquirrel> Is a work order essentially a request to produce some product ? | ||
2009-01-15 02:19 <X0d_of_N0d> ACTION looks through the code | ||
2009-01-15 02:19 <X0d_of_N0d> I should have said production order | ||
2009-01-15 02:20 <vengfulsquirrel> Yeah well I was thinking Purchase Request,Purchase would parallel Production Requestion, Production Run. | ||
2009-01-15 02:20 <X0d_of_N0d> a work order is more along the lines of something that would be created for each stop in the route | ||
2009-01-15 02:21 <vengfulsquirrel> Hmm | ||
2009-01-15 02:21 <X0d_of_N0d> sounds right | ||
2009-01-15 02:22 <vengfulsquirrel> Yeah so for a routing with 3 workcenters you'd have 3 work orders? | ||
2009-01-15 02:22 <X0d_of_N0d> yeah, because if they were all essentially the same you'd just have one work order that said "move this to these three places" | ||
2009-01-15 02:23 <X0d_of_N0d> hum... maybe | ||
2009-01-15 02:24 <vengfulsquirrel> So does a Production Request/Production Run sort of parallel a Route-Stop/Work Order but the first is super high level compared to the second one. | ||
2009-01-15 02:25 <vengfulsquirrel> A production run would be scheduled by using the routing to send work orders to each workcenter all to which would satisfy a production request. | ||
2009-01-15 02:25 <X0d_of_N0d> vengfulsquirrel: production request=make something, work order=do this step in the process | ||
2009-01-15 02:25 <X0d_of_N0d> vengfulsquirrel: so yeah, as far as I know that seems right... | ||
2009-01-15 02:25 <X0d_of_N0d> right | ||
2009-01-15 02:25 <vengfulsquirrel> So this approach works well will the two phase implementation for the most part but there are some glaring problems. | ||
2009-01-15 02:26 <X0d_of_N0d> yeah? | ||
2009-01-15 02:27 <vengfulsquirrel> A production schedule consists of a fixed-width periods, basic scheduling would use lead times on each bom to place production requests into each period based on some product demand. That's pretty much MRP I. | ||
2009-01-15 02:28 <vengfulsquirrel> Then production runs could be created to satisfy those production requests as each scheduling period comes up. | ||
2009-01-15 02:28 <X0d_of_N0d> well... workcenters can also have lead times and breakdown times | ||
2009-01-15 02:28 <vengfulsquirrel> Yeah yeah I'm ignoring routings and workcenters completely right now. | ||
2009-01-15 02:28 <X0d_of_N0d> ok | ||
2009-01-15 02:29 <vengfulsquirrel> So that is a complete basic system with no shop floor control and no capacity planning. | ||
2009-01-15 02:29 <vengfulsquirrel> It just allows people to do MRP I and assign inventory to production runs. | ||
2009-01-15 02:30 <X0d_of_N0d> and apparently the inventory control isn't bad in tinyerp, so we may be able to reuse some of the code | ||
2009-01-15 02:30 <vengfulsquirrel> Now if we stack floor control planning on that, one way is to just use the same rough planning and then schedule things on the shop floor based on the production requests assigned to each period. | ||
2009-01-15 02:30 <X0d_of_N0d> It's primarily that the bom structure SUCKS in tinyerp, so much so that it's not usable | ||
2009-01-15 02:30 <vengfulsquirrel> Yeah everytime I look at it .. I just don't get it. | ||
2009-01-15 02:31 <vengfulsquirrel> I really have no idea how their system works. | ||
2009-01-15 02:31 <vengfulsquirrel> But setting lead times by BOM is pretty rough. | ||
2009-01-15 02:31 <vengfulsquirrel> You want to set the lead time at each workcenter possibly with setup/cleanup times as well. | ||
2009-01-15 02:31 <X0d_of_N0d> exactly | ||
2009-01-15 02:31 <X0d_of_N0d> it's much more accurate | ||
2009-01-15 02:32 <X0d_of_N0d> but sometimes when you order something there's a lead time there too... | ||
2009-01-15 02:32 <X0d_of_N0d> which I think is actually covered in the products module | ||
2009-01-15 02:32 <vengfulsquirrel> Yeah that will be in the BOM as well | ||
2009-01-15 02:32 <vengfulsquirrel> hmm I was thinking you'd have a procurement type: Produce, Purchase and a procuement lead time | ||
2009-01-15 02:33 <X0d_of_N0d> oh, one note that I've been thinking about with boms. Boms should always be linked to items | ||
2009-01-15 02:33 <vengfulsquirrel> How often do you have the option to do both ? | ||
2009-01-15 02:34 <vengfulsquirrel> Sorry so my point earlier was I was going to do two-level scheduling: A rough level to place production requests into periods and a low-level to schedule routings across the shop floor within each period. | ||
2009-01-15 02:34 <vengfulsquirrel> I think that might not work very well for example if the capacity isn't there you have to start scheduling in the previuos period. | ||
2009-01-15 02:35 <vengfulsquirrel> But at the same time doing low-level scheduling for an entire year doesn't sound right either. | ||
2009-01-15 02:35 <vengfulsquirrel> Does that problem make sense? | ||
2009-01-15 02:36 <X0d_of_N0d> scheduling is an issue that can be delt with after working out bom structure | ||
2009-01-15 02:37 <X0d_of_N0d> The way I see it the first step is to figure out how to store boms in the database | ||
2009-01-15 02:37 <X0d_of_N0d> then impliment that in tryton | ||
2009-01-15 02:38 <vengfulsquirrel> Okay well I'm most concerned with the scheduling because until I see the clear path from phase one to phase two I can't start on phase one. | ||
2009-01-15 02:38 <vengfulsquirrel> Anyways what do you mean linked to items? | ||
2009-01-15 02:38 <X0d_of_N0d> in tinyerp when you build a bom you add sub boms to it so the structure is all boms | ||
2009-01-15 02:38 <X0d_of_N0d> but this is very broken | ||
2009-01-15 02:39 <X0d_of_N0d> to me the right thing to do would be to create a bom, then link that to an item, | ||
2009-01-15 02:39 <vengfulsquirrel> Yeah I don't think the use should connect the boms themselves. | ||
2009-01-15 02:39 <vengfulsquirrel> *user | ||
2009-01-15 02:39 <vengfulsquirrel> Every product has one bom(and its revisions) which consists of a list of products. | ||
2009-01-15 02:39 <X0d_of_N0d> then when you add subassemblies you should add items that may or may not be linked to boms | ||
2009-01-15 02:40 <X0d_of_N0d> well users have to generate the boms initially... | ||
2009-01-15 02:40 <vengfulsquirrel> Yeah the single-level boms. | ||
2009-01-15 02:40 <X0d_of_N0d> or configurable boms | ||
2009-01-15 02:40 <vengfulsquirrel> I think we are saying the same thing, what do you mean by item? | ||
2009-01-15 02:40 <vengfulsquirrel> Product? Or something different? | ||
2009-01-15 02:41 <X0d_of_N0d> a product | ||
2009-01-15 02:41 <X0d_of_N0d> yeah, just different terminology | ||
2009-01-15 02:41 <X0d_of_N0d> products shouldn't need to have boms linked to them... e.g. when you order a part you don' | ||
2009-01-15 02:41 <X0d_of_N0d> don't need a bom for the part you order | ||
2009-01-15 02:41 <X0d_of_N0d> but that product/part/whatever can be on a bom | ||
2009-01-15 02:42 -!- ikks(n=igor@190.12.153.202) has joined #tryton | ||
2009-01-15 02:42 <vengfulsquirrel> Yeah but the bom will be childless and the procurement method will be marked in the bom as Purchase. Or that is what I was thinking. | ||
2009-01-15 02:44 <X0d_of_N0d> why have a bom at all though? | ||
2009-01-15 02:44 <vengfulsquirrel> Well the lead time needs to be stored somewhere. | ||
2009-01-15 02:44 <X0d_of_N0d> it's one more thing to create and manage | ||
2009-01-15 02:45 <X0d_of_N0d> lead times for an ordered product are stored in the product | ||
2009-01-15 02:45 <X0d_of_N0d> ACTION goes to look at the ui for a sec | ||
2009-01-15 02:45 <X0d_of_N0d> hum... they were in tinyerp I thought...hum | ||
2009-01-15 02:47 <X0d_of_N0d> well lead times for ordered itmes should be stored in the same place as prices... they're generally per vendor | ||
2009-01-15 02:47 <vengfulsquirrel> Yeah ha god I was afraid of that. | ||
2009-01-15 02:47 <X0d_of_N0d> yeah, sucks doesn't it | ||
2009-01-15 02:47 <vengfulsquirrel> Good luck scheduling system. | ||
2009-01-15 02:47 <vengfulsquirrel> I hope everyone has a main-frame or 50 p4s. | ||
2009-01-15 02:47 <X0d_of_N0d> it's not complex, just a lot of work | ||
2009-01-15 02:48 <vengfulsquirrel> Yeah I guess that might be simpler, rather than entering 40000 lead times you just enter one for the supplier of those 40000 products. | ||
2009-01-15 02:48 <X0d_of_N0d> databases are pretty fast and well structured queries take care of most of these problems | ||
2009-01-15 02:48 <vengfulsquirrel> Can you specify a supplier for a product ? | ||
2009-01-15 02:48 <vengfulsquirrel> Like a default supplier ? | ||
2009-01-15 02:48 <X0d_of_N0d> it doesn't look like you can right now | ||
2009-01-15 02:48 <X0d_of_N0d> which is something we need | ||
2009-01-15 02:49 <X0d_of_N0d> lemme verify that though | ||
2009-01-15 02:50 <X0d_of_N0d> yeah, looks like there isn't really any pricelist as far as I can see | ||
2009-01-15 02:51 <vengfulsquirrel> Hmm yeah there are a lot of ways to cut that too. | ||
2009-01-15 02:52 <vengfulsquirrel> If people need to split between purchase and production that's a whole-nother ball of wax too. | ||
2009-01-15 02:52 <X0d_of_N0d> ? | ||
2009-01-15 02:54 <X0d_of_N0d> well... for right now we could just store lead times in products next to price | ||
2009-01-15 02:54 <X0d_of_N0d> well... we should actually just ask cedk to add it or something | ||
2009-01-15 02:55 <X0d_of_N0d> hum... no it should go in products but it only needs to be added for mrp calculations | ||
2009-01-15 02:56 <vengfulsquirrel> Yeah okay well I was going to try and send some proposal on the mailing list to get more feedback from everyone I haven't finished the proposal yet. | ||
2009-01-15 02:56 <vengfulsquirrel> Yeah okay well does the system just assume purchase if there is no BOM then / | ||
2009-01-15 02:56 <vengfulsquirrel> *? | ||
2009-01-15 02:56 <X0d_of_N0d> yeah | ||
2009-01-15 02:56 <X0d_of_N0d> I don't see why not | ||
2009-01-15 02:56 <X0d_of_N0d> if you produce it then you need a bom | ||
2009-01-15 02:57 <X0d_of_N0d> when you check produce it should then have you create a bom for it | ||
2009-01-15 02:57 <X0d_of_N0d> perhaps?? | ||
2009-01-15 02:57 <vengfulsquirrel> Well if they want to split between production and purchase due to capacity of production and cost of purchase... that seems like a super edge case though. | ||
2009-01-15 02:58 <vengfulsquirrel> So initially I'll buy that logic, no bom==purchase. | ||
2009-01-15 02:58 <X0d_of_N0d> ok | ||
2009-01-15 02:59 <vengfulsquirrel> Okay so for configurable boms I was thinking these are more for defining what needs to be produced in a work-to-order fulfillment process. Is that correct? | ||
2009-01-15 02:59 <vengfulsquirrel> *versus a work-to-stock | ||
2009-01-15 03:00 <X0d_of_N0d> yeah, generally | ||
2009-01-15 03:01 <vengfulsquirrel> Does your company do that? | ||
2009-01-15 03:01 <X0d_of_N0d> well... we do that, but there are cases where that might not be the case | ||
2009-01-15 03:03 <X0d_of_N0d> configurable boms really allow you to merge multiple boms that are similar except for some set of configurable parts | ||
2009-01-15 03:03 <vengfulsquirrel> Well it seems like they would only be used when specifying a production run to fulfull a production request. | ||
2009-01-15 03:03 <vengfulsquirrel> I was thinking configurable boms could have an additional field on each line called slot number that would just defined the products that could fulfull that slot, ie. substitutes. | ||
2009-01-15 03:03 <X0d_of_N0d> for most people's uses they're for configuration during ordering... | ||
2009-01-15 03:04 <X0d_of_N0d> Configurable boms could also be for quantity... | ||
2009-01-15 03:04 <X0d_of_N0d> a configurable bom on a computer could have the choice of one stick of ram or two | ||
2009-01-15 03:04 <vengfulsquirrel> Right so you'd say Chair: 4 Legs, 1 Seat, Slot3:(1 ABC Back, 2 ABC Backs, ACME Back) | ||
2009-01-15 03:05 <X0d_of_N0d> one way I've seen configurable boms structured is just the same as a normal bom but instead of the list of items being the items used, only one gets used | ||
2009-01-15 03:06 <X0d_of_N0d> and the bom type is set to configurable | ||
2009-01-15 03:07 <vengfulsquirrel> Yeah that kind of conflicts with making boms be lists of products becaues then we'd need to create virtual products... that had configurable boms. | ||
2009-01-15 03:07 <X0d_of_N0d> exactly | ||
2009-01-15 03:08 <X0d_of_N0d> which is actually pretty common | ||
2009-01-15 03:08 <X0d_of_N0d> a subassembly shared between two products would be a phantom bom, that is, it's not really a product that can be sold or stocked but it's used in both so it becomes a psudo item | ||
2009-01-15 03:08 <X0d_of_N0d> it gets a part number | ||
2009-01-15 03:08 <X0d_of_N0d> just so it can be put on multiple boms | ||
2009-01-15 03:09 <X0d_of_N0d> a bom would then be a list of products including pseudo products that are used to hold configurable boms | ||
2009-01-15 03:09 <vengfulsquirrel> Yeah okay hmm, that might kind of pollute the product system though. | ||
2009-01-15 03:10 <X0d_of_N0d> hum | ||
2009-01-15 03:10 <X0d_of_N0d> products should be anything with a part number, and boms should have a part number | ||
2009-01-15 03:10 <X0d_of_N0d> so.... they should kind of be there anyway | ||
2009-01-15 03:11 <X0d_of_N0d> we might be able to filter them out though | ||
2009-01-15 03:11 <X0d_of_N0d> or something..... | ||
2009-01-15 03:11 <X0d_of_N0d> but then again, I don't know that it matters really..... | ||
2009-01-15 03:12 <X0d_of_N0d> having extra items in products..well... so what? | ||
2009-01-15 03:13 <vengfulsquirrel> Well I'm not sure of the repercussions I'd have to look into it. | ||
2009-01-15 03:13 <X0d_of_N0d> ACTION thinks about it | ||
2009-01-15 03:13 <X0d_of_N0d> honestly neither am I | ||
2009-01-15 03:13 <X0d_of_N0d> it's something to think about | ||
2009-01-15 03:14 <X0d_of_N0d> The only thing I can think about is that it increases the number of things in the database, but that doesn't really seem like that big of a deal | ||
2009-01-15 03:14 <vengfulsquirrel> I didn't think that phantom bom stuff got used that much, it makes everything so much more complicated. | ||
2009-01-15 03:15 <X0d_of_N0d> phantom boms are hugely important in manufacturing and are in any worth-while mrp package | ||
2009-01-15 03:15 <X0d_of_N0d> without them it would be impossible to manage a large number of configurable products | ||
2009-01-15 03:16 <X0d_of_N0d> But I don't know that it makes things that much more complicated | ||
2009-01-15 03:16 <X0d_of_N0d> Well I've got to go, but we need to keep thinking about this | ||
2009-01-15 03:17 <vengfulsquirrel> The planning, you'd have to put the estimating percentages on each product in the phantom bom. | ||
2009-01-15 03:17 <vengfulsquirrel> So then you could get your resources setup to manufacture the product at the top of the exploded bom tree that includes the phantom bom. | ||
2009-01-15 03:18 <vengfulsquirrel> But anyways yeah I need to ask you more questions so maybe if you are on tomorrow we can talk about some other stuff. | ||
2009-01-15 03:18 <X0d_of_N0d> I'll be in earlier than I was today | ||
2009-01-15 03:18 <X0d_of_N0d> I'll talk to you then... | ||
2009-01-15 03:18 <X0d_of_N0d> later man | ||
2009-01-15 03:18 <vengfulsquirrel> sounds good, ttyl | ||
2009-01-15 03:22 -!- yangoon(n=mathiasb@p549F51B4.dip.t-dialin.net) has joined #tryton | ||
2009-01-15 03:43 <CIA-10> tryton: Bertrand Chenal <bch@b2ck.com> default * 205:560652fb0ee4 purchase/purchase.py: Use new keyword for products_by_location | ||
2009-01-15 03:43 <CIA-10> tryton: Bertrand Chenal <bch@b2ck.com> default * 206:1afca3104b9e purchase/: merge | ||
2009-01-15 03:44 <CIA-10> tryton: Bertrand Chenal <bch@b2ck.com> default * 424:8db68562ee27 stock/product.py: Improved products_by_location docstring | ||
2009-01-15 03:44 <CIA-10> tryton: Bertrand Chenal <bch@b2ck.com> default * 425:31dfb78b63a1 stock/: merge | ||
2009-01-15 03:44 <CIA-10> tryton: Bertrand Chenal <bch@b2ck.com> default * 426:f3105d54fb32 stock/ (CHANGELOG product.py): Added stock_skip_warehouse keyword on products_by_location | ||
2009-01-15 03:44 <CIA-10> tryton: Bertrand Chenal <bch@b2ck.com> default * 427:0966ede58f41 stock/: merge | ||
2009-01-15 05:20 -!- yangoon(n=mathiasb@p549F4C70.dip.t-dialin.net) has joined #tryton | ||
2009-01-15 07:04 -!- Timitos(n=Timitos@88.217.184.172) has joined #tryton | ||
2009-01-15 07:47 -!- Gedd(n=ged@77.109.113.94) has joined #tryton | ||
2009-01-15 07:51 -!- paola(n=paola@host-84-223-76-195.cust-adsl.tiscali.it) has joined #tryton | ||
2009-01-15 07:53 <CIA-10> tryton: Timitos roundup * #744/AttributeError: TranslateFactory instance has no attribute 'ugettext': Version 0.5.1 | ||
2009-01-15 09:08 -!- carlos(n=carlos@89.7.24.44) has joined #tryton | ||
2009-01-15 09:49 -!- cristi_an(i=5978d3ce@gateway/web/ajax/mibbit.com/x-5d5edbe3df9fdcae) has joined #tryton | ||
2009-01-15 09:55 <cristi_an> carlos: thx for your answer on wiki but is till not understood fully | ||
2009-01-15 09:55 <cristi_an> :( | ||
2009-01-15 09:55 <carlos> what's what you don't understand? | ||
2009-01-15 09:55 <cristi_an> ids in the docs are describe as a list of integers | ||
2009-01-15 09:55 <carlos> the python code or the logic behind that code in Tryton? | ||
2009-01-15 09:55 <cristi_an> [1,2,3,4,5,6,7,8,9] | ||
2009-01-15 09:56 <cristi_an> this is what ids may be right ? | ||
2009-01-15 09:56 <carlos> right | ||
2009-01-15 09:56 <carlos> in that code, you get ids == 1 | ||
2009-01-15 09:56 <carlos> so it converts it to ids == [1] | ||
2009-01-15 09:56 <cristi_an> 1? | ||
2009-01-15 09:56 <cristi_an> why ? | ||
2009-01-15 09:56 <carlos> just an example | ||
2009-01-15 09:56 <carlos> any number | ||
2009-01-15 09:56 <cristi_an> but why i do not get a list ? | ||
2009-01-15 09:57 <carlos> could you show me where ids is set the first time? | ||
2009-01-15 09:57 <cristi_an> just a sec | ||
2009-01-15 09:57 <carlos> sure | ||
2009-01-15 09:57 <cristi_an> i have to restart in linux | ||
2009-01-15 09:57 <cristi_an> brb thx | ||
2009-01-15 09:58 <carlos> ok | ||
2009-01-15 10:00 -!- Gedd(n=ged@ip-80-236-225-36.dsl.scarlet.be) has joined #tryton | ||
2009-01-15 10:03 -!- cristi_an(n=cristi@89.120.211.206) has joined #tryton | ||
2009-01-15 10:06 <cristi_an> carlos: http://paste.pocoo.org/show/99747/ | ||
2009-01-15 10:07 <carlos> cristi_an: without looking too deep, from there, I see that the write method allows you to give either a list of ids | ||
2009-01-15 10:07 <carlos> or a single integer | ||
2009-01-15 10:08 <carlos> and it will 'fix' its type to the internal requirement | ||
2009-01-15 10:08 <cristi_an> right since this si python | ||
2009-01-15 10:08 <carlos> so you don't need to do things like [2] or [1] | ||
2009-01-15 10:08 <cristi_an> so you can pass anything to ids | ||
2009-01-15 10:08 <carlos> right | ||
2009-01-15 10:08 <cristi_an> but why is that done like this | ||
2009-01-15 10:09 <cristi_an> why thoe code do not convert this int to [int] before do the call | ||
2009-01-15 10:09 <cristi_an> it would not been more clean | ||
2009-01-15 10:09 <carlos> well, that's a design decision that I cannot answer, given that I didn't design it | ||
2009-01-15 10:10 <carlos> you will need to wait for cedk and others to answer that | ||
2009-01-15 10:10 <cristi_an> just asking since i am almost 0 in python but from programming point of view this is custom to python ? | ||
2009-01-15 10:11 <cristi_an> carlos: http://groups.google.com/group/tryton/browse_thread/thread/baa8a979f3c38a1d | ||
2009-01-15 10:11 <cristi_an> on 1 or 2 do you have any response for me:) | ||
2009-01-15 10:11 <cristi_an> ? | ||
2009-01-15 10:14 <carlos> cristi_an: well, given that python gives you such flexibility in type checking, that's something that may be useful in some situations, yes | ||
2009-01-15 10:14 <carlos> about 1. It depends on the editor you use | ||
2009-01-15 10:15 <carlos> I know vim has a 'ctags' module can may help you to do such lookups. Emacs has something similar, but I don't know it's name and I guess eclipse may have something similar too | ||
2009-01-15 10:15 <carlos> you also have the grep command line tool ;-) | ||
2009-01-15 10:16 <cristi_an> ellipse rules in java | ||
2009-01-15 10:16 <cristi_an> eclipse | ||
2009-01-15 10:16 -!- nicoe(n=nicoe@ip-80-236-225-36.dsl.scarlet.be) has joined #tryton | ||
2009-01-15 10:17 <carlos> about 2. the printing is done with buffers, so it's not a good way of doing debug tasks because it's not printed in sync with the code being executed | ||
2009-01-15 10:17 <carlos> cristi_an: do you know the python debugger? | ||
2009-01-15 10:17 <cristi_an> no :( | ||
2009-01-15 10:17 <carlos> substitute your print with this line: | ||
2009-01-15 10:17 <carlos> import pdb; pdb.set_trace() | ||
2009-01-15 10:17 <carlos> that will give you a python shell in the point where you want to check something | ||
2009-01-15 10:17 <carlos> so you will be able to check the internal status of the variables at that point | ||
2009-01-15 10:17 <cristi_an> and i can just add | ||
2009-01-15 10:18 <cristi_an> print xxx | ||
2009-01-15 10:18 <cristi_an> ? | ||
2009-01-15 10:18 <cristi_an> this is like a bbreakpoint | ||
2009-01-15 10:18 <carlos> when you are done, just execute 'c' and the program will continue | ||
2009-01-15 10:18 <carlos> right, is a kind of breakpoint, but fixed in the source code | ||
2009-01-15 10:18 <cristi_an> nice | ||
2009-01-15 10:18 <cristi_an> thx a lot | ||
2009-01-15 10:19 <carlos> as I said, the print xxx is not a sync command so it's going to be difficult to use it without adding some extra code to flush the output buffer | ||
2009-01-15 10:19 <carlos> the python debugger is quite simple to use | ||
2009-01-15 10:19 <carlos> so is better if you get used to that instead of prints ;-) | ||
2009-01-15 10:20 <cristi_an> oki but when the shell is avalable when the that poin is reached | ||
2009-01-15 10:20 <cristi_an> then how can i see the values for vartaibles i am interested in ? | ||
2009-01-15 10:20 <cristi_an> not with print in shell ? | ||
2009-01-15 10:25 <carlos> you don't really need to do a print, however, it will work, yes | ||
2009-01-15 10:25 <carlos> I didn't understand you :-P | ||
2009-01-15 10:25 <carlos> you could just do: | ||
2009-01-15 10:26 <carlos> >>> variable | ||
2009-01-15 10:26 <carlos> and you will get the value | ||
2009-01-15 10:28 <cristi_an> :) gr8 | ||
2009-01-15 10:51 <cristi_an> carlos: one more thing | ||
2009-01-15 10:51 <cristi_an> http://paste.pocoo.org/show/99753/ | ||
2009-01-15 10:51 <cristi_an> i added this | ||
2009-01-15 10:51 <cristi_an> i start server ,start client,reinstall party | ||
2009-01-15 10:51 <cristi_an> but when i save address i expect write to be called and to get that shell | ||
2009-01-15 10:51 <cristi_an> but no :( | ||
2009-01-15 10:53 <carlos> cristi_an: you forgot the 'import pdb' | ||
2009-01-15 10:53 <carlos> import pdb; pdb.set_trace() | ||
2009-01-15 10:54 <cristi_an> import is up | ||
2009-01-15 10:54 <cristi_an> in the file | ||
2009-01-15 10:54 <carlos> ok | ||
2009-01-15 10:54 <carlos> then, that code is not being executed | ||
2009-01-15 10:54 <cristi_an> otherwise the server had not started | ||
2009-01-15 10:54 <cristi_an> hmmm | ||
2009-01-15 10:54 <carlos> cristi_an: it would start | ||
2009-01-15 10:54 <carlos> if the code is not executed on start up | ||
2009-01-15 10:54 <cristi_an> i have to w8 cedk | ||
2009-01-15 10:54 <cristi_an> since write is callewd on save | ||
2009-01-15 10:55 <cristi_an> ???? | ||
2009-01-15 10:55 <carlos> python is dynamic, so it may have bugs like missing imports and you will not notice it until the code path is executed | ||
2009-01-15 10:56 <cristi_an> http://paste.pocoo.org/show/99755/ | ||
2009-01-15 10:57 <cristi_an> cedk and bechamel had a party tonight after radio since they are still sleeping :) | ||
2009-01-15 10:58 <carlos> cristi_an: the code is ok, but as I said, if you don't get a python 'shell', it's because the write method is not being called | ||
2009-01-15 10:58 <carlos> cristi_an: btw, you must execute the server from the console directly so the standard output and input are attached to that terminal | ||
2009-01-15 10:59 <cristi_an> strange sine it has to be called...that is save | ||
2009-01-15 10:59 <cristi_an> console | ||
2009-01-15 10:59 <cristi_an> so no doulbe click ? | ||
2009-01-15 10:59 <cristi_an> ./trytond.py | ||
2009-01-15 10:59 <cristi_an> is better ? | ||
2009-01-15 11:01 <carlos> right, that one | ||
2009-01-15 11:01 <carlos> if you do double click, you don't have a way to get the shell | ||
2009-01-15 11:03 <cristi_an> i did not know that | ||
2009-01-15 11:03 <cristi_an> :) | ||
2009-01-15 11:04 <carlos> ;-) | ||
2009-01-15 11:04 <carlos> do you get it now? | ||
2009-01-15 11:06 <cristi_an> no :(( | ||
2009-01-15 11:07 <cristi_an> maybe is not called | ||
2009-01-15 11:07 <cristi_an> that method | ||
2009-01-15 11:07 <cristi_an> i have to w8 cedk | ||
2009-01-15 11:07 <cristi_an> back to win | ||
2009-01-15 11:16 -!- cristi_an(i=5978d3ce@gateway/web/ajax/mibbit.com/x-2f92450fc50be9a6) has joined #tryton | ||
2009-01-15 11:18 <cristi_an> woder why since i started the server with ./ | ||
2009-01-15 11:29 -!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton | ||
2009-01-15 11:34 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 32:89ca19176ceb google_maps/__tryton__.py: Add fr_FR in __tryton__.py | ||
2009-01-15 11:41 <cristi_an> cedk: write method in address.py | ||
2009-01-15 11:41 <cristi_an> is called each time when i save an address ? | ||
2009-01-15 11:48 <cristi_an> thx | ||
2009-01-15 11:48 <cedk> cristi_an: when you modify | ||
2009-01-15 11:48 <cedk> cristi_an: there is a create function also | ||
2009-01-15 11:49 <cristi_an> aha i will write on group | ||
2009-01-15 11:49 <cristi_an> i saw you answered...but i have more questions related to this | ||
2009-01-15 11:49 <cristi_an> cedk: | ||
2009-01-15 11:49 <cristi_an> better ask there...answer wehn you can | ||
2009-01-15 11:51 <cedk> cristi_an: you can ask on the mailling list to continue the discussion | ||
2009-01-15 11:54 <udono> hi all | ||
2009-01-15 11:55 <udono> cedk: did I need openoffice.interact in any case for printing pdf documents? | ||
2009-01-15 11:55 <udono> cedk: and is a openoffice headless server needed serversite? | ||
2009-01-15 11:55 <cedk> udono: if you want that the server generate the pdf | ||
2009-01-15 11:56 <udono> cedk: If I like the client to generate the pdf automatically, is this possible? | ||
2009-01-15 11:56 <udono> cedk: via the way trytond - tryton - openoffice - export (automatically) PDF | ||
2009-01-15 11:57 <cedk> udono: I think you can run openoffice in command line to do that, but not sure | ||
2009-01-15 11:57 <udono> cedk: ok, thanks, was just irritated | ||
2009-01-15 11:57 <cedk> udono: or you can send it directly to the printer | ||
2009-01-15 11:58 <udono> ok, pdf printer is a way | ||
2009-01-15 11:58 <Timitos> cedk: to make the question of udono more clear. is tryton able to create PDF by default? | ||
2009-01-15 11:58 <cedk> Timitos: no | ||
2009-01-15 11:58 <Timitos> cedk: ok. thx | ||
2009-01-15 12:04 <cristi_an> cedk: i put my questions there (i will do there if the are longer from now on) | ||
2009-01-15 12:10 -!- carlos(n=carlos@89.7.24.44) has joined #tryton | ||
2009-01-15 12:31 -!- bechamel(n=user@85.201.86.139) has joined #tryton | ||
2009-01-15 13:20 <CIA-10> tryton: ced roundup * #744/AttributeError: TranslateFactory instance has no attribute 'ugettext': Are you sure? I don't have the same line for genshi/filters/i18n.py 181 | ||
2009-01-15 14:01 -!- cristi_an(n=cristi@89.120.211.206) has joined #tryton | ||
2009-01-15 14:17 <cristi_an> cedk: i noticed a very nice feature ...when an object is saved it puts in vals only the filed that are modifed | ||
2009-01-15 14:18 <cristi_an> cedk: is this done with cache help ? | ||
2009-01-15 14:18 <cristi_an> and you compare before saving the object ? | ||
2009-01-15 14:20 <cedk> cristi_an: it is the gtk client that knows what has been changed by the user | ||
2009-01-15 14:21 <cristi_an> and from the client you get only the changed data | ||
2009-01-15 14:21 <cristi_an> i got it thx | ||
2009-01-15 14:21 <cristi_an> smart client :) | ||
2009-01-15 14:21 <cristi_an> is this possible from a web application as well ? | ||
2009-01-15 14:22 <cristi_an> web client (browser) | ||
2009-01-15 14:23 <cedk> cristi_an: perhaps | ||
2009-01-15 14:37 <cristi_an> cedk: bechamel http://paste.pocoo.org/show/99781/ | ||
2009-01-15 14:37 <cristi_an> is necesarry to do the if isinstance(ids, (int, long)): | ||
2009-01-15 14:38 <cristi_an> since when you update an address | ||
2009-01-15 14:38 <cristi_an> you may set obly on party to it | ||
2009-01-15 14:38 <cristi_an> and you may save that only one address | ||
2009-01-15 14:40 <cristi_an> so if party is present in vals is clear you;ll have one id | ||
2009-01-15 14:40 <cristi_an> plz correct me where i am wrong | ||
2009-01-15 14:51 <cristi_an> ? | ||
2009-01-15 15:13 -!- ikks(n=igor@201.244.188.98) has joined #tryton | ||
2009-01-15 16:25 -!- juanfer(n=juanfer@201.244.188.98) has joined #tryton | ||
2009-01-15 16:29 -!- Timitos(n=Timitos@88.217.184.172) has joined #tryton | ||
2009-01-15 16:34 -!- cristi_an(i=5978d3ce@gateway/web/ajax/mibbit.com/x-b56d5fd65393e981) has joined #tryton | ||
2009-01-15 16:54 -!- carlos(n=carlos@230.Red-80-39-129.dynamicIP.rima-tde.net) has joined #tryton | ||
2009-01-15 16:55 <carlos> ikks: Hi | ||
2009-01-15 16:59 <ikks> HI Carlos, I haven't been able to apply the fixes you commented :( | ||
2009-01-15 16:59 <carlos> ikks: don't worry, I'm not in a hurry | ||
2009-01-15 17:00 <carlos> and when I have time to do a longer review, I will provide with a branch with all the comments | ||
2009-01-15 17:01 <carlos> ikks: I would like with you about terminology. I wonder whether you translated 'Income statement' as 'Cuenta de ingresos' because that's how it's named in your country or you just did a direct translation | ||
2009-01-15 17:01 <carlos> In Spain, it should be named: "Cuenta de Pérdidas y Ganancias" | ||
2009-01-15 17:02 <ikks> mhh, aquí tenemos dos cuentas distintas enumeradas | ||
2009-01-15 17:02 <carlos> so I'm just trying to detect whether that's a case when it's differently translated in different Spanish countries | ||
2009-01-15 17:02 <carlos> or not | ||
2009-01-15 17:02 <ikks> sorry, i saw spanish | ||
2009-01-15 17:02 <carlos> ikks: :-P | ||
2009-01-15 17:02 <ikks> we have to main accounts | ||
2009-01-15 17:02 <ikks> Ingresos and Egresos | ||
2009-01-15 17:02 <ikks> labeled 4 and 5 | ||
2009-01-15 17:02 <ikks> And we have an inform | ||
2009-01-15 17:02 <carlos> Egresos? | ||
2009-01-15 17:03 <ikks> called pérdidas y ganancias | ||
2009-01-15 17:03 <carlos> so it's the same as in Spain | ||
2009-01-15 17:03 <ikks> egresos means all that takes money out from the company | ||
2009-01-15 17:03 <ikks> maybe I haven't understand properly the word "statement" | ||
2009-01-15 17:03 <carlos> as far as I know, Income statement should be translated then as 'Perdidas y ganancias' | ||
2009-01-15 17:04 <carlos> ikks: well, I detected that mapping from an accounting glossary | ||
2009-01-15 17:04 <ikks> In spanish this portion: Es más bien como un informe? | ||
2009-01-15 17:04 <carlos> ikks: yeah | ||
2009-01-15 17:04 <ikks> PyG? | ||
2009-01-15 17:04 <carlos> ikks: I think so, yes | ||
2009-01-15 17:04 <carlos> ikks: http://www.economicas-online.com/glosarios/ingles.htm#I | ||
2009-01-15 17:04 <ikks> ok, I see this is an error on the whole translation then... | ||
2009-01-15 17:05 <carlos> ikks: that's a glossary that helps me a bit to map from the English terminology to the Spanish one | ||
2009-01-15 17:05 <ikks> Maybe we have to add on the doc references on the translation decision strings | ||
2009-01-15 17:06 <carlos> Yeah, a Tryton glossary/terminology would be a good idea | ||
2009-01-15 17:06 <ikks> Really nice, I guess that the reference of the translation on a wiki page would help us sync | ||
2009-01-15 17:06 <ikks> Do you have write access on the googlegroup wiki? | ||
2009-01-15 17:06 <carlos> if we use translations that differ from the 'official' terminology in each country is going to be difficult to use Tryton | ||
2009-01-15 17:06 <carlos> ikks: yes | ||
2009-01-15 17:07 <ikks> Can you help me with this? at the moment I'm focused on something else :( | ||
2009-01-15 17:07 <carlos> sure | ||
2009-01-15 17:08 <carlos> I will start with the terms I think we should change as I continue with my chart of accounts creation | ||
2009-01-15 17:08 <carlos> well, and also the ones I see as valid ;-) | ||
2009-01-15 17:10 <carlos> ikks: btw, I got my company added to the tryton's services page. Could you update the Spanish translation? (I will send you the translation so you only need to approve / commit it) | ||
2009-01-15 17:15 <ikks> cool | ||
2009-01-15 17:17 -!- cristi_an(n=cristi@89.120.211.206) has joined #tryton | ||
2009-01-15 17:32 -!- carlos(n=carlos@24.Red-79-145-99.dynamicIP.rima-tde.net) has joined #tryton | ||
2009-01-15 17:57 -!- ikks(n=igor@201.244.188.98) has joined #tryton | ||
2009-01-15 18:28 -!- enlightx(n=enlightx@host-84-220-86-72.cust-adsl.tiscali.it) has joined #tryton | ||
2009-01-15 18:28 -!- evernichon(n=evernich@AToulouse-256-1-7-107.w90-38.abo.wanadoo.fr) has joined #tryton | ||
2009-01-15 18:59 -!- paola(n=paola@host-84-223-76-195.cust-adsl.tiscali.it) has joined #tryton | ||
2009-01-15 19:07 <CIA-10> tryton: Mathias Behrle <mathiasb@behrle.dyndns.org> default * 254:b2fc8d801cf2 account_invoice/ (invoice.odt invoice.py): | ||
2009-01-15 19:07 <CIA-10> tryton: Change field description from char to text | ||
2009-01-15 19:07 <CIA-10> tryton: Better handling of linebreaks and multiline input in invoice lines for issue 738 | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 255:6b15be325174 account_invoice/: merge | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 39:1f3d8bf9bcfe analytic_purchase/purchase.xml: Update for new purchase line form | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 31:2679c2b781d2 analytic_sale/sale.xml: Update for new sale line form | ||
2009-01-15 19:07 <CIA-10> tryton: Mathias Behrle <mathiasb@behrle.dyndns.org> default * 207:fb81b04712e8 purchase/ (purchase.odt purchase.py): | ||
2009-01-15 19:07 <CIA-10> tryton: Change field description from char to text | ||
2009-01-15 19:07 <CIA-10> tryton: Better handling of linebreaks and multiline input in purchase lines for issue 738 | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 208:69185ff61aa4 purchase/purchase.py: merge | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 209:bdad08ea6a24 purchase/purchase.xml: Add a notebook on purchase line form | ||
2009-01-15 19:07 <CIA-10> tryton: Mathias Behrle <mathiasb@behrle.dyndns.org> default * 210:42dc5b7c16ce purchase/purchase.py: Add comments on purchase lines | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 211:057ac8841740 purchase/COPYRIGHT: Update copyright | ||
2009-01-15 19:07 <CIA-10> tryton: Mathias Behrle <mathiasb@behrle.dyndns.org> default * 102:0980f90b1ab3 sale/ (sale.odt sale.py): | ||
2009-01-15 19:07 <CIA-10> tryton: Change field description from char to text | ||
2009-01-15 19:07 <CIA-10> tryton: Better handling of linebreaks and multiline input in sale lines for issue 738 | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 103:a747ab442fb1 sale/: merge | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 104:edcbde2f252f sale/sale.xml: Add notebook on sale line | ||
2009-01-15 19:07 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 428:afc5db0a2fd6 stock/inventory.py: Fix guidelines | ||
2009-01-15 19:08 <CIA-10> tryton: ced roundup * #738/RfC: Comments in sale, purchase, invoice lines: [resolved] Applied | ||
2009-01-15 19:12 <CIA-10> tryton: C?dric Krier <ced@b2ck.com> default * 105:291bd2c0382c sale/COPYRIGHT: Update copyright | ||
2009-01-15 19:29 -!- enlightx(n=enlightx@host-84-220-86-72.cust-adsl.tiscali.it) has joined #tryton | ||
2009-01-15 19:41 -!- vengfulsquirrel(n=ian@c-71-202-125-182.hsd1.ca.comcast.net) has joined #tryton | ||
2009-01-15 19:43 <cristi_an> cedk: i created a party added to that some addresses saved.then i open the party again and updated the addresses by changing some attributes in them | ||
2009-01-15 19:43 <cristi_an> in log i noticed the that each address was saved (updated) separatelly by clling write on each | ||
2009-01-15 19:43 <cristi_an> since there is ids as list why it was not possible to do this in one call ? | ||
2009-01-15 19:44 <cristi_an> a single write with ids[] | ||
2009-01-15 19:45 <cedk> cristi_an: because the values to write are different for each id | ||
2009-01-15 19:45 <cristi_an> so ids as a list in write method is just ...like this....it would have been ok to have there ids and int parameter then | ||
2009-01-15 19:46 <cedk> cristi_an: no because sometimes when you are programming, you need to write the same value on many ids, so here you can | ||
2009-01-15 19:47 <cristi_an> cedk: can you give me a use case when this is done ? | ||
2009-01-15 19:48 <cedk> cristi_an: in trytond/modules/account/period.py line 234 | ||
2009-01-15 19:48 <cristi_an> thx | ||
2009-01-15 19:50 <cristi_an> nice i got it now | ||
2009-01-15 19:51 -!- carlos(n=carlos@89.7.24.44) has joined #tryton | ||
2009-01-15 20:15 <cristi_an> what is the purpose of sequence = fields.Integer("Sequence") | ||
2009-01-15 20:15 <cristi_an> i saw this in many places ? | ||
2009-01-15 20:18 <bechamel> it's useful when you want to let the customer to order records | ||
2009-01-15 20:18 <bechamel> the field will contain the intergers for custom order | ||
2009-01-15 20:19 <vengfulsquirrel> X0d_of_N0d: Hey hey | ||
2009-01-15 20:21 <cristi_an> bechamel: and how can i let the customer order records ? | ||
2009-01-15 20:22 <bechamel> cristi_an: the gtk client handle it for you | ||
2009-01-15 20:22 <bechamel> cristi_an: if you do drag and drops between invoice lines the value of sequence will be updated accordingly | ||
2009-01-15 20:23 <bechamel> cristi_an: but if the field is available in the form view the user can change it by hand | ||
2009-01-15 20:24 <bechamel> afk | ||
2009-01-15 20:25 <cristi_an> bechamel: but on address | ||
2009-01-15 20:25 <cristi_an> i do not see this sequence files so i can cahnge it by habd | ||
2009-01-15 20:25 <cristi_an> files = field | ||
2009-01-15 20:27 <cristi_an> i saw this | ||
2009-01-15 20:27 <cristi_an> in party | ||
2009-01-15 20:27 <cristi_an> when i arange by hand addressed | ||
2009-01-15 20:28 <cristi_an> /addressed/addresses | ||
2009-01-15 20:28 <cristi_an> the order on the seq is changes in the db | ||
2009-01-15 20:28 <cristi_an> but why not on the main address form ? | ||
2009-01-15 20:28 <cristi_an> there is not the same form used ? | ||
2009-01-15 20:29 <cristi_an> that is not a sortable table from party (the addres table widget) | ||
2009-01-15 20:30 <cristi_an> the main form of addresses instead hold a sortable table | ||
2009-01-15 20:33 <cristi_an> thx... | ||
2009-01-15 20:57 <cristi_an> bechamel: i asked this before but i forgot | ||
2009-01-15 20:57 <cristi_an> how can i do override and update | ||
2009-01-15 20:57 <cristi_an> with hg ? | ||
2009-01-15 21:09 <bechamel> cristi_an: hg rollabck maybe | ||
2009-01-15 21:10 <bechamel> for the sequence on adress it's not on the form because it's easier to use drag and drop | ||
2009-01-15 21:12 -!- enlightx(n=enlightx@host-84-220-86-72.cust-adsl.tiscali.it) has joined #tryton | ||
2009-01-15 21:12 <cristi_an> not hg revert -all | ||
2009-01-15 21:12 <cristi_an> ? | ||
2009-01-15 21:14 <bechamel> yes revertis right, rollback is to remove the last commit | ||
2009-01-15 21:14 <cristi_an> but is this specified somewhere that is not on the form and is used for drag and drop ? | ||
2009-01-15 21:15 <cristi_an> in the xml ? | ||
2009-01-15 21:16 <bechamel> cristi_an: actualy .. i don't know :), maybe in fields_view_get in the orm | ||
2009-01-15 21:19 <udono> hey guys, I am away for a week, see you on monday in a week! Bye | ||
2009-01-15 21:19 <bechamel> cristi_an: black magic, maybe | ||
2009-01-15 21:19 <bechamel> udono: bye | ||
2009-01-15 21:19 <cristi_an> udono: have a nice holiday | ||
2009-01-15 21:20 <cristi_an> bechamel: there is not black magic :) only kids fools belive in that :) | ||
2009-01-15 21:23 -!- udono(n=udono@dynamic-unidsl-85-197-23-76.westend.de) has left #tryton | ||
2009-01-15 21:28 <bechamel> cristi_an: i think the black magic is line 2163 in orm.py | ||
2009-01-15 21:31 <cristi_an> i feel much better | ||
2009-01-15 21:31 <cristi_an> :) | ||
2009-01-15 21:32 <bechamel> cristi_an: great | ||
2009-01-15 21:43 <cedk> cristi_an, bechamel: it is the attribute sequence on the tag tree | ||
2009-01-15 21:46 <cristi_an> i saw that 5 min before | ||
2009-01-15 21:46 <cristi_an> The name of the files used for sorting.... | ||
2009-01-15 21:46 <cristi_an> Field | ||
2009-01-15 21:46 <cristi_an> XML description tree | ||
2009-01-15 21:47 <bechamel> cedk: right, i had a look in address.xml, but i forgot to check party.xml so i didn't see it | ||
2009-01-15 21:48 <cristi_an> in adress.xml there is the table sorting | ||
2009-01-15 21:48 <cristi_an> by default | ||
2009-01-15 21:52 <cristi_an> __init__.py is called each time in import from that modules is used ? | ||
2009-01-15 21:52 <cristi_an> as first commands | ||
2009-01-15 21:53 <bechamel> cristi_an: yes this is python specific | ||
2009-01-15 21:54 <cristi_an> i read | ||
2009-01-15 21:54 <cristi_an> http://www.tryton.org/doc/branches/1.0/trytond/doc/modules.html#module-structure | ||
2009-01-15 21:55 <cristi_an> thx i found docs | ||
2009-01-15 21:55 <cristi_an> setup.py is needed ? | ||
2009-01-15 21:56 <bechamel> cristi_an: it's only for packaging | ||
2009-01-15 21:57 <cristi_an> which is used for ? | ||
2009-01-15 21:57 <cristi_an> :) | ||
2009-01-15 21:57 <cristi_an> debian etc ? | ||
2009-01-15 21:57 <cristi_an> stuff like this... | ||
2009-01-15 21:57 <bechamel> cristi_an: easy_install | ||
2009-01-15 21:58 <bechamel> cristi_an: try "python setup.py" | ||
2009-01-15 21:59 <cristi_an> usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] | ||
2009-01-15 22:00 <cristi_an> install the packege like vat is isntalled ? | ||
2009-01-15 22:02 <cristi_an> good night thx.... | ||
2009-01-15 22:02 <bechamel> yes this allow to build and install as any python module, and because modules are availabe on http://pypi.python.org/pypi, you can also do "easy_install tryton_party" ( and this will fetch all other needed packages/modules) | ||
2009-01-15 22:02 <bechamel> damn | ||
2009-01-15 22:02 <vengfulsquirrel> ha yeha that was a long one | ||
2009-01-15 22:03 <vengfulsquirrel> maybe he read it in that last second | ||
2009-01-15 22:03 <vengfulsquirrel> 41<-->42 | ||
2009-01-15 22:03 <bechamel> vengfulsquirrel: I hope he checks the logs | ||
2009-01-15 22:39 -!- cristi_an(n=cristi@89.120.211.206) has joined #tryton | ||
2009-01-15 22:40 <cristi_an> i created a custom simple model | ||
2009-01-15 22:40 <cristi_an> how can i install that | ||
2009-01-15 22:40 <cristi_an> ? | ||
2009-01-15 22:40 <cristi_an> to se in the client | ||
2009-01-15 22:41 <vengfulsquirrel> A db model? | ||
2009-01-15 22:42 <cristi_an> well a custom model ,the class the xml,the __init__.py and tryton.py | ||
2009-01-15 22:42 <cristi_an> just some simple fields to see how db is created how the client handels this | ||
2009-01-15 22:43 <cristi_an> depends of ir and res | ||
2009-01-15 22:44 <bechamel> cristi_an: is your new directory in trytond/modules ? | ||
2009-01-15 22:44 <cristi_an> yes | ||
2009-01-15 22:45 <bechamel> cristi_an: so if everything is ok just restart the server and your module will appear in the module list | ||
2009-01-15 22:45 <bechamel> cristi_an: or with the command line: "trytond.py -d my_db -i my_module" | ||
2009-01-15 23:14 <X0d_of_N0d> vengfulsquirrel: hey, I ended up coming in a bit later today than I expected | ||
2009-01-15 23:15 <vengfulsquirrel> X0d_of_N0d: yeah that's fine I haven't started my second pot of coffee yet | ||
2009-01-15 23:16 <vengfulsquirrel> So I have a lot of questions because the books I have and the Internet haven't been great resources for all the BOM types. | ||
2009-01-15 23:17 <X0d_of_N0d> vengfulsquirrel: ok, cool | ||
2009-01-15 23:17 <vengfulsquirrel> So if you have time now or later to go over it that would be great. | ||
2009-01-15 23:17 <X0d_of_N0d> vengfulsquirrel: yeah | ||
2009-01-15 23:18 <X0d_of_N0d> vengfulsquirrel: I've got some time | ||
2009-01-15 23:18 <vengfulsquirrel> Great, so I think I've finally come to terms with Phantom boms although they still seem a little awkward. | ||
2009-01-15 23:18 <X0d_of_N0d> ok | ||
2009-01-15 23:20 <vengfulsquirrel> So I thought modular boms were just multi-level boms but I guess they are more than that but I can't find any definitive definition for them. | ||
2009-01-15 23:21 <X0d_of_N0d> I think that's more or less accurate except that, as far as I understand, "modular" means that subassemblies can be shared between boms | ||
2009-01-15 23:21 <X0d_of_N0d> and can be changed and what-not | ||
2009-01-15 23:22 <vengfulsquirrel> Can you explain subassembly because you don't mean "Product" right ? | ||
2009-01-15 23:22 <X0d_of_N0d> right | ||
2009-01-15 23:22 <X0d_of_N0d> lets say you're building a bike | ||
2009-01-15 23:22 <X0d_of_N0d> the bike is the product/assembly | ||
2009-01-15 23:23 <X0d_of_N0d> but you also build the wheels, then attach them to the bike | ||
2009-01-15 23:23 <X0d_of_N0d> the wheels would be a subassembly | ||
2009-01-15 23:23 <X0d_of_N0d> a subassembly is just something that's built to be a part for something else | ||
2009-01-15 23:24 <vengfulsquirrel> Yeah how is that different from a product? You could sell the wheels too right? | ||
2009-01-15 23:24 <X0d_of_N0d> right, but there are subassemblies you can't sell.... | ||
2009-01-15 23:25 <X0d_of_N0d> if you build hard drives your platters would be a subassembly, but you could never sell those | ||
2009-01-15 23:25 <vengfulsquirrel> Yeah that's fine, would they be stocked though or for just communication between workcenters? | ||
2009-01-15 23:26 <X0d_of_N0d> but subassemblies usually get part numbers, so for our purposes there really isn't much of a difference between a product and an assembly | ||
2009-01-15 23:27 <X0d_of_N0d> if a subassembly is immediately used and not typically stocked then it would be a phantom bom and it would more be used just in case something happened and it needed to be stocked | ||
2009-01-15 23:27 <vengfulsquirrel> hmm | ||
2009-01-15 23:27 <X0d_of_N0d> but generally, yeah, a phantom bom shouldn't generate a work order of any type | ||
2009-01-15 23:27 <vengfulsquirrel> Yeah I figured I would assume a phantom bom would _never_ be stocked. | ||
2009-01-15 23:28 <vengfulsquirrel> I made a diagram | ||
2009-01-15 23:28 <X0d_of_N0d> some phantom boms aren't ever stocked because they aren't actual assemblies | ||
2009-01-15 23:28 <vengfulsquirrel> hold on | ||
2009-01-15 23:28 <X0d_of_N0d> ok | ||
2009-01-15 23:29 <vengfulsquirrel> http://www.laspilitas.com/s/images/bom-christmas-tree.png | ||
2009-01-15 23:30 <vengfulsquirrel> X0d_of_N0d: I should have sent that first. | ||
2009-01-15 23:31 <X0d_of_N0d> ACTION looks at it | ||
2009-01-15 23:32 <vengfulsquirrel> Hmm I guess I don't actually have a sub-assembly on there, but I think if its stocked we can just use the current product model for it. | ||
2009-01-15 23:32 <X0d_of_N0d> right, a bom should just be recursive | ||
2009-01-15 23:34 <X0d_of_N0d> why is there a difference between phantom assembly and product kit? | ||
2009-01-15 23:34 <X0d_of_N0d> a phantom could be a kit | ||
2009-01-15 23:34 <vengfulsquirrel> A product kit is used for planning purposes | ||
2009-01-15 23:35 <vengfulsquirrel> A phantom is ignored during planning | ||
2009-01-15 23:35 <vengfulsquirrel> *product demand planning | ||
2009-01-15 23:35 <vengfulsquirrel> I think a product kit is also just for convenience and bom maintanence. | ||
2009-01-15 23:35 <X0d_of_N0d> well...hum | ||
2009-01-15 23:36 <vengfulsquirrel> Like its not actually assembled, like a Bag of Parts. | ||
2009-01-15 23:36 <X0d_of_N0d> right, but you still need that bag of parts | ||
2009-01-15 23:37 <vengfulsquirrel> I didn't make it up and I'd love to axe it and just make people make a real sub assembly out of it. | ||
2009-01-15 23:37 <X0d_of_N0d> a phantom shouldn't generate a work order | ||
2009-01-15 23:38 <X0d_of_N0d> hum... | ||
2009-01-15 23:39 <vengfulsquirrel> Yeah that's a little grey for me, a phantom assembly is created on the line on the way to creating the final product. | ||
2009-01-15 23:39 <X0d_of_N0d> usually... it's also used in some other places... | ||
2009-01-15 23:39 <vengfulsquirrel> What other places? | ||
2009-01-15 23:40 <X0d_of_N0d> we have a shipping phantom bom that includes all the materials needed to pack and ship our machiens | ||
2009-01-15 23:40 <X0d_of_N0d> the finished product could never be stocked because it's a box built around the machine | ||
2009-01-15 23:40 <vengfulsquirrel> So what is stocked? | ||
2009-01-15 23:40 <X0d_of_N0d> and it doesn't need a work order because the shipping order takes care of that | ||
2009-01-15 23:41 <X0d_of_N0d> wood, nails, etc | ||
2009-01-15 23:41 <X0d_of_N0d> parts to build it | ||
2009-01-15 23:41 <vengfulsquirrel> So the shipping order is an order to do the final assembly of the machine and the shipping materials? | ||
2009-01-15 23:42 <X0d_of_N0d> no, to assemble the shiping materials around the finished machine | ||
2009-01-15 23:43 <X0d_of_N0d> but we do need to make sure more wood and nails are ordered if we are running low | ||
2009-01-15 23:43 <X0d_of_N0d> so it does need to be taken into account when planning purchase orders | ||
2009-01-15 23:45 <X0d_of_N0d> and there is also, of course, the "bag of parts" thing | ||
2009-01-15 23:46 <vengfulsquirrel> Yeah you could just do a demand estimate for the shipping materials as a final product and just ignore the packing process. Are you saying you'd want your machine demand estimates to trigger shipping material demand estimates? | ||
2009-01-15 23:47 <X0d_of_N0d> shipping materials would be a phantom bom inside the assembly, so any demand estimate for the assembly would automatically generate demand for the shipping materials | ||
2009-01-15 23:52 <vengfulsquirrel> Yeah I'll have to think about that, well, noted. | ||
2009-01-15 23:52 <X0d_of_N0d> ok | ||
2009-01-15 23:52 <vengfulsquirrel> That's like a reverse phantom bom. | ||
2009-01-15 23:52 <vengfulsquirrel> Its in the bom but its not used in production at all BUT it needs to be planned for. | ||
2009-01-15 23:53 <vengfulsquirrel> Whereas a phantom bom is only used during production and doesn't need to be purchased/planned for. | ||
2009-01-15 23:53 <vengfulsquirrel> Anyways so onto configurable boms. | ||
2009-01-15 23:54 <X0d_of_N0d> yeah | ||
2009-01-15 23:54 <X0d_of_N0d> the terminology in erp really sucks | ||
2009-01-15 23:54 <X0d_of_N0d> imho | ||
2009-01-15 23:54 <X0d_of_N0d> it's not clearly defined and it's pretty confusing | ||
2009-01-15 23:54 <X0d_of_N0d> so yeah, on to configurable boms | ||
2009-01-15 23:55 <vengfulsquirrel> So some people talk about configurable boms like choosing red and blue whereas other people talk about choosing a 80MB hard drive versus a 60MB hard drive(my book is that old!). | ||
2009-01-15 23:55 <X0d_of_N0d> lol, yeah I've got a book like that | ||
2009-01-15 23:56 <X0d_of_N0d> it could also be choosing 50ft of cable vs 60ft | ||
2009-01-15 23:56 <X0d_of_N0d> any time you have a choice it's configurable | ||
2009-01-15 23:56 <vengfulsquirrel> yeah but the physical configuration makes sense to me and is in that bom i sent you under substitutues | ||
2009-01-15 23:58 <vengfulsquirrel> *substitutes, although there needs to be a choose code or something like.. can sub m to n, can sub exactly m | ||
2009-01-15 23:59 <X0d_of_N0d> this is where I was saying it should just be a normal bom but instead of being a list of things you will put in it's a list of things you could put in | ||
2009-01-15 23:59 <vengfulsquirrel> yeah okay that makes sense to me, is there any more complexity to that? |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!