|
POST
|
Yep it is strange. The second rule does delete a record in the cancelled number table. It does this because of how the MERGE tool works (as explained in Amir's response) there is no way for me to update the cancelled number table correctly in one rule. Based on the merge option selected, which I need to use, it will always incorrectly adds a record for one of the parents that will still exist in active/current and is also retired. So, the second rule fixes this problem. Fortunately, the second rule does not interfere with my other use cases so it works out ok. I appreciate you checking and help with the code. Its kind of a strange problem. As to why this is needed.... In Oregon, taxlot numbers are sequentially assigned per taxlot map. The combination of the taxlot number and map number make a unique key that is used to link the map to the Assessment and Taxation System. The table of cancelled numbers contains both the mapnumber and taxlot. When a cartographer creates a new taxlot on a map they do not want to use a number that has been previously cancelled as this taxlot number (and associated taxlot account) still exists as a historical record in the Assessment and Taxation System. Now that I can maintain this table accurately, I will see if the cartographers want an insert attribute rule for taxlots that checks this table automatically, rather then them checking manually. It would be pretty simple to do. The reason taxlot numbers are not always deleted (replaced) when this type of action occurs dates back to when we had a manual system. Every time a taxlot was created staff had to create a new taxlot packet (a big job). It was whole lot faster to keep a taxlot (and its packet) and just update the information in the packet that needed to be updated. In the 80's-90's when A&T computer systems were made this practice was kept because of time and space savings on those expensive computer disks. The process is pretty engrained so doing what we do now is a standard business practice that won't be changed anytime soon (we still need those historical taxlot accounts to support a number of business activities). Sorry for the complicated answer.
... View more
07-10-2025
12:26 PM
|
0
|
0
|
573
|
|
POST
|
This worked (I had to learn how to create a rule to delete a record in another table). As I have learned there are probably better ways to do this but it works, so that is a relief. Thanks for the help! For reference here are the two rules... Rule 1: Update cancelled number table on retire var Taxlot = $feature.MapTaxlot
var fsTaxlot = FeatureSetByName($datastore, "Taxlot", ['MapTaxlot','RetiredByRecord','CreatedByRecord'],false)
var where = Concatenate(["MapTaxlot = '", $feature.MapTaxlot,"' AND RetiredByRecord is Null"])
var fsTaxlotFilter = First(filter(fsTaxlot,where))
if (TypeOf(fsTaxlotFilter) != 'Feature'){
return { "edit": [{ "className": "CancelledNumbers",
"adds": [{ 'attributes':
{ "Taxlot": $feature.Taxlot, "MapNumber":$feature.MapNumber } }]
}]
}
} Rule 2: Delete In Cancelled Number Table var fsTaxlot = FeatureSetByName($datastore, "Taxlot", ['MapTaxlot','RetiredByRecord','CreatedByRecord'],false)
var fsCanNums = FeatureSetByName($datastore, "CancelledNumbers", ['MapNumber','Taxlot','GlobalID'],false)
var whereT = Concatenate(["MapTaxlot = '", $feature.MapTaxlot,"' AND RetiredByRecord is Null"])
var whereC = Concatenate(["MapNumber = '", $feature.MapNumber,"' AND Taxlot = '",$feature.Taxlot,"'"])
var fsTaxlotFilter = First(filter(fsTaxlot,whereT))
var fsCanNumsFilter = First(filter(fsCanNums,whereC))
if ((TypeOf(fsCanNumsFilter) == 'Feature') && (TypeOf(fsTaxlotFilter) == 'Feature')) {
var GlobalIDToDelete = [{'GLOBALID': fsCanNumsFilter.GlobalID}]
return {
"edit": [{
"className": "CancelledNumbers",
'deletes': GlobalIDToDelete
}]
}
}
... View more
07-09-2025
10:30 AM
|
1
|
0
|
610
|
|
POST
|
That makes sense. My tests with just insert as the trigger adds the record. I have been working on a rule that deletes the record in the second table if it should not be. I was worried that this was kind of messy but that sounds like the best way to go. Thanks !
... View more
07-09-2025
05:55 AM
|
0
|
0
|
632
|
|
POST
|
Thanks for the code and sorry I always forget to set the formatting correctly. The code provided does not work for my first use case. When I select a taxlot and set it historic it does not update the cancelled number table. By changing the conditional to be "if (TypeOf(fsTaxlotFilter) != 'Feature')" it works great for my first two use cases but again did not work when using the merge tool. It also did not work with Merge Tool when I left it at "if (TypeOf(fsTaxlotFilter) == 'Feature')"
... View more
07-08-2025
10:32 AM
|
0
|
0
|
655
|
|
POST
|
I am using ArcPro/Fabric 3.4 in a geodatabase. When a parcel is made historic (and no longer exists in current) I want add that parcel number to a cancelled number table. My three use cases are as follows. Two work well but I can not get the third to work. Any help would be greatly appreciated. 1. If you set a Taxlot (our name for parcel) historic it should automatically update the cancelled number table. (this works) 2. If you duplicate a Taxlot and set it historic it will not update the cancelled number table. (this works) 3. If you merge two Taxlots and keep original features on so the "new" taxlot has the attributes of one of the parents then the cancelled number table should have one record in the cancelled number table for the taxlot that has been retired and no longer exists in current. . (this does not work - I get two records in the cancelled number table one record for both parents). My code for the attribute rules (executes on update trigger, exclude for application eval, and trigger field is RetiredByRecord) is as follows: // If a taxlot is set historic and no longer exists in current taxlots then the taxlot and maptaxlot are added to the cancelled number table. var fsTaxlot = FeatureSetByName($datastore, "Taxlot ['MapTaxlot','RetiredByRecord','CreatedByRecord'],false) var where = Concatenate(['MapTaxlot = ',"'", $feature.MapTaxlot,"'"," and RetiredByRecord is Null"]) var fsTaxlotFilter = filter(fsTaxlot,where) var firstFilter = First(fsTaxlotFilter) if (!isempty(firstFilter)) return //if (!isempty(filter(fsTaxlot,where))) return return { "edit": [{ "className": "CancelledNumbers", "adds": [{ 'attributes': { "Taxlot": $feature.Taxlot, "MapNumber":$feature.MapNumber } }] }] }
... View more
07-08-2025
09:55 AM
|
0
|
9
|
681
|
|
IDEA
|
We deploy and share tasks to a number of participants in our tools development organization. When a task is imported users have the tedious 'task' of resetting the layer options for each step/task. It would be great to have a GP tool that allows a user to set the (View, Select, Edit, Snap, etc) for all or specific layers in a task step or task. That way we could ship the exported task and a GP tool (that could be quickly modified) to simplify the process of importing tasks.
... View more
02-05-2025
06:46 AM
|
0
|
0
|
258
|
|
IDEA
|
At this time when you use a task you have to assign the snapping options (Off/On/etc). This overrides the standard setting the user may have already selected for snapping. I would like to see an option where snapping is NOT set in the task and remains the same as when the task started (similar to putting a "-" for a layer option for display, select, edit, etc).
... View more
02-05-2025
06:39 AM
|
1
|
0
|
265
|
|
POST
|
I am familiar with the 3.2 field changes. But... if I did EVERYTHING in ArcPro 3.3 (created my project and map, created all feature classes, imported all tables from excel) then why is this need to be checked ? Nothing I am doing was done in ArcPro 3.1 (or earlier). I am just curious.
... View more
06-10-2024
10:15 AM
|
1
|
1
|
3047
|
|
POST
|
Wow - that fixed it. Thanks! Funny thing. This entire project creation, data loading, etc. was all done using ArcPro 3.3 start to finish. So why did I need to check this checkbox ? Anyway, I am not sure I care. I NEVER would have found this. Thanks again.
... View more
06-10-2024
05:19 AM
|
1
|
3
|
3057
|
|
POST
|
I want to check if this issue is a "feature" or a "bug". I am exporting a feature class with attributes from a related table. I figured out a workaround so will also include that. I am using ArcPro 3.3. What I have: I have a point feature class which contains many internet service point locations. I also have a table with just internet copper services. Not all point locations have a copper service but some can have two-three (different providers). I use JOIN (only keeping those that match) using a field called "Location_Id". When I look at the attributes everything looks great. I see the attributes and values from both the feature class and related table as expected. The Issue: When I export the results to a new feature class "Data --> Export Features" the new feature class contains the field definitions of the join table but all the fields have "null" values. Work Around: My work around was to create a new empty feature class containing the field definitions for the feature class and joined table. By using the editor cut/paste I was able to obtain the results I wanted. I did not use Append as the cut/paste worked. Question: Is the export data behavior I found a feature or a bug? I have not been able to find any comments on this. I was able to replicate the issue and work around with different feature classes and related tables.
... View more
06-05-2024
11:55 AM
|
1
|
5
|
3227
|
|
POST
|
It worked great - Thanks. I am not sure why mine did not but I do not care and will do a bit more research on why.
... View more
02-14-2024
08:17 AM
|
1
|
0
|
1536
|
|
POST
|
I am testing validation rules. We have imported a lot of data and I want to implement validation rules to assist users in reviewing attribute values that need to be in the attribute domain. I am using ArcPro 3.2+. (I know I can do this from with the Attributes tab but want to use attribute validation rules. ) I have a domain with ALL county values 1-36 for a field called County. In my feature class (Taxcode) I selected a polygon and assigned it a null value (putting it outside the domain). I have created a couple of different arcade scripts to do the validation but both return all features in error when using the error inspector. I have looked at available examples and can not find this specific example. I did find code that looks at pole heights and another that includes subtypes. I have not been successful at using these examples to create my own SIMPLE approach. Here are the two ways I have done it. Example 1: return (Includes(Domain($feature,'County').codedvalues,$feature.County)) Example 2: var CountyDomains = Domain($feature,'County') var ValidCodes = [] var ValidCodes = CountyDomains["codedValues"] return (Includes(ValidCodes,$feature.County)) Both are valid expressions. In the error inspector both identify all features in the feature class as being in error. Its got to be doing something simple. What am I doing wrong?
... View more
02-12-2024
12:55 PM
|
0
|
3
|
1652
|
|
POST
|
As a follow up.. I was also able to create a problem with versions and records between two maps using the following steps ( involves no python scripts.) I am still using ArcPro Fabric 3.2 and Enterprise/Branched Version 11.1 1. Created A version in "Map" (PF_ANDERSD.DeanTextVersion11_28_1) 2. Created a new Record (DeanTestVersion11_28_1) in "Map" 3. Set active Record 4. Used the MERGE tool - Combined two taxlots (703+701-> 701) -- ALL works fine -- Taxlots were merged -- Record geometry was created 5. Opened Second Map "TaxlotMap" 6. Changed Version (PF_ANDERSD.DeanTextVersion11_28_1) --- Problems Found --- a. Taxlot Polygons are NOT Merged ----b. Can NOT select the merged polygon ----c. Can no "refresh" the version ----d. New Record does NOT exist in the version
... View more
11-28-2023
06:30 AM
|
0
|
0
|
686
|
|
POST
|
I am using ArcPro 3.2 to access 11.1 Enterprise with Branched Versioning. I have been having problems with creating a record in a version using procedures posted in(Part 2 - Branch Version with Parcel Fabric) as discussed in my previous post "Problems with Arcp3.2 Parcel Fabric Using ArcPy to Change the Version". I also have a second issue. In my project, I have two maps, one is for general editing and the other for creating a voucher. Unfortunately when I set both maps to default my second map "retains" the record created previously. I have tried to refresh the versions with both maps, opening and closing the project files etc. The following two pictures illustrate my problem. This seems to be independent of my previous problem and just deals with how two maps point at the "default" environment. My question is --- is anyone else having this issue ? Map 1: Set to default. Only ONE record appears in the map extent. Map 2: Set to default. TWO records appear in the map extent. The second record should NOT be in default.
... View more
11-28-2023
06:08 AM
|
0
|
1
|
701
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 07-09-2025 10:30 AM | |
| 1 | 02-05-2025 06:39 AM | |
| 1 | 06-10-2024 10:15 AM | |
| 1 | 06-10-2024 05:19 AM | |
| 1 | 06-05-2024 11:55 AM |
| Online Status |
Offline
|
| Date Last Visited |
3 weeks ago
|