---
id: object/page/1040
type: object
title: Page 1040 "Copy Job"
summary: Page 1040 "Copy Job" in Base Application (Microsoft.Projects.Project.Job). 1 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "24"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: c3d73d9735d9fe6fc296833631ec67f4182dd3678e9c90f2c8e51e9ca35ba8a6
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Projects/Project/Job/CopyJob.Page.al
    title: src/Layers/W1/BaseApp/Projects/Project/Job/CopyJob.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 1040
name: Copy Job
caption: Copy Project
namespace: Microsoft.Projects.Project.Job
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 7
  events: 4
  subscribers: 0
  controls: 15
  actions: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Page 1040 "Copy Job"

> Page 1040 "Copy Job" in Base Application (Microsoft.Projects.Project.Job). 1 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24.

Base Application · Microsoft.Projects.Project.Job · captioned "Copy Project" · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Projects/Project/Job/CopyJob.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Copy Project |
| PageType | StandardDialog |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Copy from | Project No. | `SourceJobNo` | Specifies the project number. |
|  | Project Task No. from | `FromJobTaskNo` | Specifies the first project task number to be copied from. Only planning lines with a project task number equal to or higher than the number specified in this field will be included. |
|  | Project Task No. to | `ToJobTaskNo` | Specifies the last project task number to be copied from. Only planning lines with a project task number equal to or lower than the number specified in this field will be included. |
|  | Source | `Source` | Specifies the basis on which you want the planning lines to be copied. If, for example, you want the planning lines to reflect actual usage and invoicing of items, resources, and general ledger expenses on the project you copy from, then select Project Ledger Entries in this field. |
|  | Incl. Planning Line Type | `PlanningLineType` | Specifies how copy planning lines. Budget+Billable: All planning lines are copied. Budget: Only lines of type Budget or type Both Budget and Billable are copied. Billable: Only lines of type Billable or type Both Budget and Billable are copied. |
|  | Incl. Ledger Entry Line Type | `LedgerEntryType` | Specifies how to copy project ledger entries. Usage+Sale: All project ledger entries are copied. Entries of type Usage are copied to new planning lines of type Budget. Entries of type Sale are copied to new planning lines of type Billable. Usage: All project ledger entries of type Usage are copied t... |
|  | Starting Date | `FromDate` | Specifies the date from which the report or batch job processes information. |
|  | Ending Date | `ToDate` | Specifies the date to which the report or batch job processes information. |
| Copy to | Project No. | `TargetJobNo` | Specifies the project number. |
|  | Project Description | `TargetJobDescription` | Specifies a description of the project. |
|  | Sell-To Customer No. | `TargetSellToCustomerNo` | Specifies the number of an alternate customer that the project is sold to instead of the main customer. |
|  | Bill-To Customer No. | `TargetBillToCustomerNo` | Specifies the number of an alternate customer that the project is billed to instead of the main customer. |
| Apply | Copy Project Prices | `CopyJobPrices` | Specifies that item prices, resource prices, and G/L prices will be copied from the project that you specified on the Copy From FastTab. |
|  | Copy Quantity | `CopyQuantity` | Specifies that the quantities will be copied to the new project. |
|  | Copy Dimensions | `CopyDimensions` | Specifies that the dimensions will be copied to the new project. |

## Events published

- `OnAfterSetFromJob(SourceJob: Record Job; var FromDate: Date; var ToDate: Date)` (integration)
- `OnLookupFromJobTaskNoOnAfterSetJobTaskFilters(var JobTask: Record "Job Task")` (integration)
- `OnLookupToJobTaskNoOnAfterSetJobTaskFilters(var JobTask: Record "Job Task")` (integration)
- `OnValidateUserInputOnBeforeCheckTargetJobNo(SourceJob: Record Job; var TargetJobNo: Code[20]; var IsHandled: Boolean)` (integration)

## Procedures

- `SetFromJob(SourceJob2: Record Job)`

Plus 2 local procedures.

## Triggers

OnOpenPage, OnQueryClosePage

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 1006 "Copy Job"](../codeunit/1006.md) (4 calls: `OnQueryClosePage → CopyJob`, `OnQueryClosePage → SetCopyOptions`, `OnQueryClosePage → SetJobTaskDateRange`, …)
- [Page 456 "No. Series"](../page/456.md) (1 call: `ValidateUserInput → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Copy Job")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
