The Legato IDE contains a nice feature called the Debug View, which is obviously very useful when debugging. In this blog, I will discuss the basic functionality of Debug View. It allows a programmer to view and inspect the details of variables while the target script program is running.
Continue reading "LDC #145: Using the Debug View" »Friday, July 19. 2019
LDC #144: Using Legato to Create Hidden Text in a Document
I was discussing inline XBRL with a client the other day when a thought occurred to me. GoFiler uses XDX to mark information in a document to convert it to inline XBRL at a later time, which is generally great, but it means if you have a line item on a table that doesn’t actually have a label (like a total line, for example), then GoFiler is just going to pick the standard label for that element. That’s not a bad thing, in and of itself, but if you want to customize the label, there needs to be some text on the line item for XDX to pick up. Adding hidden text to the document is a great way to add “hints” for XDX, without actually changing the look of the exported document.
Continue reading "LDC #144: Using Legato to Create Hidden Text in..." »
Friday, July 12. 2019
LDC #143: Table Mapping Tools
Working with text inside of tables when looking at HTML code can sometimes be a daunting task. Looking at rows of code that are rows and columns can be difficult, especially when trying to write a script to read text from within a table. Keeping track of what row and cell you are in sometimes can feel like an entire script in itself. Luckily for us we have a number of functions in Legato that can allow us to read data from a table as though we were looking at a spreadsheet. This means that we can focus on developing tools to focus on aggregating the data itself rather than reinventing the wheel every time that we want to retrieve data from a table.
Continue reading "LDC #143: Table Mapping Tools" »Friday, July 05. 2019
LDC #142: Finding the Right Function
When writing a script sometimes it is hard to find the function you need. In Legato there are multiple ways to search for functions, including the help system and the Function Select function on the Script ribbon. This blog is going to cover the Function Select function in the Legato IDE as well as an overview of some of the other Legato editing functions available within the application.
Continue reading "LDC #142: Finding the Right Function" »Friday, June 28. 2019
LDC #141: Creating iXBRL Proof Files Quickly and Easily
About a week ago, a client brought up a good point in a discussion we were having about inline XBRL in GoFiler. While we could generate proof files for the XBRL and proof files for the HTML, the HTML proof only showed HTML data, and the XBRL proof only showed XBRL data. The HTML proof wasn’t highlighting which facts had been tagged with inline XBRL data, because unless you view it through a special viewer, it looks indistinguishable from regular HTML. It’s a feature we will be adding in a future release of GoFiler, but why wait? Through Legato features can be added on the fly!
Continue reading "LDC #141: Creating iXBRL Proof Files Quickly..." »
Friday, June 21. 2019
LDC #140: Using Legato to Ease the Creation of 8-K Cover Pages: Part 2
This week we are going to move forward with our creation of a tool to allow us to fill out a Form 8-K cover page. Last blog we started our process by creating a script that showed how to use the HTML templates to create a custom template that runs a Legato script. This week we are going to expand on that concept, redesigning the script to be able to work with multiple form types and adding in the ability to add expandable lists into each form.
Continue reading "LDC #140: Using Legato to Ease the Creation of..." »Friday, June 07. 2019
LDC #139: For loops vs While Loops, deciding which to use.
When working in Legato, it’s very common to come across a task that must be repeated. Several of our example scripts in this blog have used for loops or while loops. In fact, it’s fairly uncommon to write a script without one because almost any task that is complex enough that it would require a script to be written for it generally needs to iterate over something. This week, we’re going to take a look at what makes the two loop types Legato supports different, and why you would choose one over the other.
Continue reading "LDC #139: For loops vs While Loops, deciding..." »
Friday, May 31. 2019
LDC #138: Using Legato to Ease the Creation of 8-K Cover Pages
The SEC recently updated the requirements for what information should be included on a number of the cover pages for their forms. GoFiler already has templates for a lot of common forms like the 8-K, 10-Q, and 10-K, but I had an idea that would eventually make creating these cover pages even easier than they already are by putting the power of Legato to work. The current templates simply create a blank cover page with empty areas to enter data in the Page View edit window. My script will prompt the user to provide the information in a simple form when they create the document and automatically place that data on the cover page.
Continue reading "LDC #138: Using Legato to Ease the Creation of..." »Friday, May 24. 2019
LDC #137: Creating background process to convert HTML files in Legato
Last week, Josh discussed how we can use the ConvertFile function to convert files from their base format into HTML, in LDC #136. This week, we’re going to take that idea one step further, and create a script that can start and stop a background process that monitors a folder for files to convert. If it finds a file that hasn’t been converted, or has been modified since it was last converted, the background process will convert the file into HTML for us automatically. This creates a “hot” folder effectively, that’s monitored for jobs to do.
Continue reading "LDC #137: Creating background process to..." »
Friday, May 17. 2019
LDC #136: Using Legato to Automate Document Conversion
One of the most important features of GoFiler is the ability to take Microsoft Office documents and turn them into EDGAR compliant documents that can be filed to the SEC. While conversion is easy to do manually in GoFiler, there is a function in Legato that can add a crucial step into an automated set of steps that can help make setting up filings a breeze. Today I will go in-depth on this function: ConvertFile.
Continue reading "LDC #136: Using Legato to Automate Document..." »Friday, May 10. 2019
LDC #135: How To Automate Inserting Pictures into an HTML File
Whenever a task has to be done repeatedly and there’s not much thought that needs to go into running the task, it’s generally a great candidate for automating using a Legato script. I’ve been asked a few times in the past month or so how to quickly and easily insert multiple images into an HTML file. Since that’s a relatively easy task that just requires a lot of the same operation over and over again, I thought it would make a great example of automation for our Legato blog. So this week, we’ll take a look at a simple script that takes a folder as an input, scans it for images, and then inserts all of the images it finds into an HTML file.
Continue reading "LDC #135: How To Automate Inserting Pictures..." »Friday, May 03. 2019
LDC #134: Using the Windows Registry
While Legato offers its own method of storing settings, sometimes a script will need to be able to read the settings of other applications. This includes applications that use the registry to store information. The Windows Registry is a database that is managed by the operating system that all applications, drivers, services, and other processes can use to store settings and other information. The registry was originally introduced as a common place for applications to store settings since INI files did not work well in a multi-user environment. With later versions of Windows, it became easier for applications to store INI or XML settings in a user’s profile, but some applications still use the registry as it offers some unique features. This week’s blog will be a discussion of the registry functions in Legato as well as some common pitfalls programmers may encounter when using the registry.
Continue reading "LDC #134: Using the Windows Registry" »Friday, April 26. 2019
LDC #133: Checkbox and Radio Button Controls Part Three
Automatic operation of checkbox and radio buttons is easy, but what if you want to extend the functionality or do something out of the ordinary? This blog discusses how to manage the control more closely via button notifications. I will also update the checkbox script from Part One of this series to use notifications to add a narrative description to the dialog.
Continue reading "LDC #133: Checkbox and Radio Button Controls..." »Friday, April 19. 2019
LDC #132: Adding Edit Functionality to the Page Break Manager
Last year, I wrote a series of blog posts on a Page Break Manager tool for GoFiler. It allowed users to save page breaks into a style template, rename them, and delete them. One feature was conspicuously absent though, the ability to edit a page break. Well, it seems like now would be a good time to rectify that mistake! This blog post is going to go over how to add the edit function to this script. It’s also a really good example of code should be written in a fairly modular fashion, because it makes it a lot easier to come back in and edit things later. I wrote this seven months ago, I don’t really remember how a lot of the functions work exactly. Things like reading the file into a data table, or saving the file back out, are somewhat complicated, and while I’m sure I could figure out how it’s working, there’s really no need to, since those are self-contained functions within the script. I don’t need to know how they work really, as long as they do what they’re supposed to do I can simply re-use them in this new function without a problem.
Continue reading "LDC #132: Adding Edit Functionality to the Page..." »
Friday, April 12. 2019
LDC #131: Building a Section 16 Data Scraper, Part 4: Dialog
It’s time to finish up our full script for our Section 16 data scraper. In the first three parts of this series we completed a base script that would go out to the SEC’s website, download all of the filings from a particular CIK, cache all of the Section 16 filings, find all of the reported transactions, put those transactions into a CSV file, and then read all of those transactions and figure out which of those transactions are current holdings. This week we are going to finish up by creating a dialog and adding our script functionality into the dialog.
Continue reading "LDC #131: Building a Section 16 Data Scraper,..." »
Quicksearch
Categories
Calendar
![]() |
February '25 |
![]() |
||||
---|---|---|---|---|---|---|
Mo | Tu | We | Th | Fr | Sa | Su |
Saturday, February 22. 2025 | ||||||
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 |