diff --git a/docs/configuration.md b/docs/configuration.md
index 242164bf..d2f1310a 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -142,7 +142,7 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
are: `name`, `id`, `ipn`, `description`, `referencedAssemblies`, `edit`, `addedDate`, `lastModified`.
* `TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS`: The columns in assemblies bom tables, which are visible by default (when loading table for first time).
Also specify the default order of the columns. This is a comma separated list of column names. Available columns
- are: `quantity`, `name`, `id`, `ipn`, `description`, `addedDate`, `lastModified`.
+ are: `quantity`, `name`, `id`, `ipn`, `description`, `category`, `footprint`, `manufacturer`, `designator`, `mountnames`, `storage_location`, `amount`, `addedDate`, `lastModified`.
* `CREATE_ASSEMBLY_USE_IPN_PLACEHOLDER_IN_NAME`: Use an %%ipn%% placeholder in the name of a assembly. Placeholder is replaced with the ipn input while saving.
### History/Eventlog-related settings
diff --git a/migrations/Version20250929140755.php b/migrations/Version20250929140755.php
new file mode 100644
index 00000000..a45dd8fb
--- /dev/null
+++ b/migrations/Version20250929140755.php
@@ -0,0 +1,26 @@
+addSql('ALTER TABLE assembly_bom_entries ADD designator LONGTEXT NOT NULL AFTER mountnames');
+ }
+
+ public function down(Schema $schema): void
+ {
+ $this->addSql('ALTER TABLE assembly_bom_entries DROP designator');
+ }
+}
diff --git a/src/DataTables/AssemblyBomEntriesDataTable.php b/src/DataTables/AssemblyBomEntriesDataTable.php
index ddeedba2..55a47584 100644
--- a/src/DataTables/AssemblyBomEntriesDataTable.php
+++ b/src/DataTables/AssemblyBomEntriesDataTable.php
@@ -162,6 +162,12 @@ class AssemblyBomEntriesDataTable implements DataTableTypeInterface
return $html;
},
])
+ ->add('designator', TextColumn::class, [
+ 'label' => 'assembly.bom.designator',
+ 'render' => function ($value, AssemblyBOMEntry $context) {
+ return htmlspecialchars($context->getDesignator());
+ },
+ ])
->add('instockAmount', TextColumn::class, [
'label' => 'assembly.bom.instockAmount',
'visible' => false,
diff --git a/src/Entity/AssemblySystem/AssemblyBOMEntry.php b/src/Entity/AssemblySystem/AssemblyBOMEntry.php
index 9620e489..e4337446 100644
--- a/src/Entity/AssemblySystem/AssemblyBOMEntry.php
+++ b/src/Entity/AssemblySystem/AssemblyBOMEntry.php
@@ -84,7 +84,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
normalizationContext: ['groups' => ['bom_entry:read', 'api:basic:read'], 'openapi_definition_name' => 'Read']
)]
#[ApiFilter(PropertyFilter::class)]
-#[ApiFilter(LikeFilter::class, properties: ["name", "comment", 'mountnames'])]
+#[ApiFilter(LikeFilter::class, properties: ["name", 'mountnames', 'designator', "comment"])]
#[ApiFilter(RangeFilter::class, properties: ['quantity'])]
#[ApiFilter(OrderFilter::class, properties: ['name', 'id', 'addedDate', 'lastModified', 'quantity'])]
class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInterface, TimeStampableInterface
@@ -103,6 +103,13 @@ class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInt
#[Groups(['bom_entry:read', 'bom_entry:write', 'import', 'simple', 'extended', 'full'])]
protected string $mountnames = '';
+ /**
+ * @var string Reference mark on the circuit diagram/PCB
+ */
+ #[ORM\Column(name: 'designator', type: Types::TEXT)]
+ #[Groups(['bom_entry:read', 'bom_entry:write', 'import', 'simple', 'extended', 'full'])]
+ protected string $designator = '';
+
/**
* @var string|null An optional name describing this BOM entry (useful for non-part entries)
*/
@@ -190,6 +197,16 @@ class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInt
return $this;
}
+ public function getDesignator(): string
+ {
+ return $this->designator;
+ }
+
+ public function setDesignator(string $designator): void
+ {
+ $this->designator = $designator;
+ }
+
/**
* @return string
*/
diff --git a/src/Form/AssemblySystem/AssemblyBOMEntryType.php b/src/Form/AssemblySystem/AssemblyBOMEntryType.php
index 851ab815..f8a7a86d 100644
--- a/src/Form/AssemblySystem/AssemblyBOMEntryType.php
+++ b/src/Form/AssemblySystem/AssemblyBOMEntryType.php
@@ -45,12 +45,17 @@ class AssemblyBOMEntryType extends AbstractType
])
->add('name', TextType::class, [
'label' => 'assembly.bom.name',
+ 'help' => 'assembly.bom.name.help',
'required' => false,
])
+ ->add('designator', TextType::class, [
+ 'label' => 'assembly.bom.designator',
+ 'help' => 'assembly.bom.designator.help',
+ 'required' => false
+ ])
->add('mountnames', TextType::class, [
'required' => false,
'label' => 'assembly.bom.mountnames',
- 'empty_data' => '',
'attr' => [
'class' => 'tagsinput',
'data-controller' => 'elements--tagsinput',
diff --git a/src/Helpers/Assemblies/AssemblyPartAggregator.php b/src/Helpers/Assemblies/AssemblyPartAggregator.php
index 2346075a..46495935 100644
--- a/src/Helpers/Assemblies/AssemblyPartAggregator.php
+++ b/src/Helpers/Assemblies/AssemblyPartAggregator.php
@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace App\Helpers\Assemblies;
use App\Entity\AssemblySystem\Assembly;
+use App\Entity\AssemblySystem\AssemblyBOMEntry;
use App\Entity\Parts\Part;
use Dompdf\Dompdf;
use Dompdf\Options;
@@ -61,6 +62,7 @@ class AssemblyPartAggregator
*/
private function processAssembly(Assembly $assembly, float $multiplier, array &$aggregatedParts): void
{
+ /** @var AssemblyBOMEntry $bomEntry */
foreach ($assembly->getBomEntries() as $bomEntry) {
// If the BOM entry refers to a part, add its quantity
if ($bomEntry->getPart() instanceof Part) {
@@ -70,6 +72,8 @@ class AssemblyPartAggregator
$aggregatedParts[$part->getId()] = [
'part' => $part,
'assembly' => $assembly,
+ 'name' => $bomEntry->getName(),
+ 'designator' => $bomEntry->getDesignator(),
'quantity' => $bomEntry->getQuantity(),
'multiplier' => $multiplier,
];
@@ -81,6 +85,8 @@ class AssemblyPartAggregator
$aggregatedParts[] = [
'part' => null,
'assembly' => $assembly,
+ 'name' => $bomEntry->getName(),
+ 'designator' => $bomEntry->getDesignator(),
'quantity' => $bomEntry->getQuantity(),
'multiplier' => $multiplier,
];
diff --git a/src/Services/ImportExportSystem/BOMImporter.php b/src/Services/ImportExportSystem/BOMImporter.php
index 59e3d187..5ed8c388 100644
--- a/src/Services/ImportExportSystem/BOMImporter.php
+++ b/src/Services/ImportExportSystem/BOMImporter.php
@@ -866,7 +866,11 @@ class BOMImporter
}
if (isset($entry['designator'])) {
- $bomEntry->setMountnames(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
+ if ($bomEntry instanceof ProjectBOMEntry) {
+ $bomEntry->setMountnames(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
+ } elseif ($bomEntry instanceof AssemblyBOMEntry) {
+ $bomEntry->setDesignator(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
+ }
}
$bomEntry->setPart($part);
diff --git a/src/Services/ImportExportSystem/EntityExporter.php b/src/Services/ImportExportSystem/EntityExporter.php
index 3766343c..1bdb0d8a 100644
--- a/src/Services/ImportExportSystem/EntityExporter.php
+++ b/src/Services/ImportExportSystem/EntityExporter.php
@@ -380,25 +380,31 @@ class EntityExporter
],
Project::class => [
'header' => [
- 'Id', 'ParentId', 'Type', 'ProjectNameHierarchical', 'ProjectName', 'ProjectFullName', 'BomQuantity',
- 'BomPartId', 'BomPartIpn', 'BomPartMpnr', 'BomPartName', 'BomDesignator', 'BomPartDescription',
- 'BomMountNames'
+ 'Id', 'ParentId', 'Type', 'ProjectNameHierarchical', 'ProjectName', 'ProjectFullName',
+
+ //BOM relevant attributes
+ 'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
+ 'Description', 'MountNames'
],
'processEntity' => fn($entity, $depth) => [
- 'ProjectId' => $entity->getId(),
- 'ParentProjectId' => $entity->getParent()?->getId() ?? '',
+ 'Id' => $entity->getId(),
+ 'ParentId' => $entity->getParent()?->getId() ?? '',
'Type' => 'project',
'ProjectNameHierarchical' => str_repeat('--', $depth) . ' ' . $entity->getName(),
'ProjectName' => $entity->getName(),
'ProjectFullName' => $this->getFullName($entity),
- 'BomQuantity' => '-',
- 'BomPartId' => '-',
- 'BomPartIpn' => '-',
- 'BomPartMpnr' => '-',
- 'BomPartName' => '-',
- 'BomDesignator' => '-',
- 'BomPartDescription' => '-',
- 'BomMountNames' => '-',
+
+ //BOM relevant attributes
+ 'Quantity' => '-',
+ 'PartId' => '-',
+ 'PartName' => '-',
+ 'Ipn' => '-',
+ 'Manufacturer' => '-',
+ 'Mpn' => '-',
+ 'Name' => '-',
+ 'Designator' => '-',
+ 'Description' => '-',
+ 'MountNames' => '-',
],
'processBomEntries' => fn($entity, $depth) => array_map(fn(ProjectBOMEntry $bomEntry) => [
'Id' => $entity->getId(),
@@ -407,22 +413,29 @@ class EntityExporter
'ProjectNameHierarchical' => str_repeat('--', $depth) . '> ' . $entity->getName(),
'ProjectName' => $entity->getName(),
'ProjectFullName' => $this->getFullName($entity),
- 'BomQuantity' => $bomEntry->getQuantity() ?? '',
- 'BomPartId' => $bomEntry->getPart()?->getId() ?? '',
- 'BomPartIpn' => $bomEntry->getPart()?->getIpn() ?? '',
- 'BomPartMpnr' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '',
- 'BomPartName' => $bomEntry->getPart()?->getName() ?? '',
- 'BomDesignator' => $bomEntry->getName() ?? '',
- 'BomPartDescription' => $bomEntry->getPart()?->getDescription() ?? '',
- 'BomMountNames' => $bomEntry->getMountNames(),
+
+ //BOM relevant attributes
+ 'Quantity' => $bomEntry->getQuantity() ?? '',
+ 'PartId' => $bomEntry->getPart()?->getId() ?? '',
+ 'PartName' => $bomEntry->getPart()?->getName() ?? '',
+ 'Ipn' => $bomEntry->getPart()?->getIpn() ?? '',
+ 'Manufacturer' => $bomEntry->getPart()?->getManufacturer()?->getName() ?? '',
+ 'Mpn' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '',
+ 'Name' => $bomEntry->getPart()?->getName() ?? '',
+ 'Designator' => $bomEntry->getMountnames() ?? '',
+ 'Description' => $bomEntry->getPart()?->getDescription() ?? '',
+ 'MountNames' => $bomEntry->getMountNames(),
], $entity->getBomEntries()->toArray()),
],
Assembly::class => [
'header' => [
'Id', 'ParentId', 'Type', 'AssemblyIpn', 'AssemblyNameHierarchical', 'AssemblyName',
- 'AssemblyFullName', 'BomQuantity', 'BomMultiplier', 'BomPartId', 'BomPartIpn', 'BomPartMpnr',
- 'BomPartName', 'BomDesignator', 'BomPartDescription', 'BomMountNames', 'BomReferencedAssemblyId',
- 'BomReferencedAssemblyIpn', 'BomReferencedAssemblyFullName'
+ 'AssemblyFullName',
+
+ //BOM relevant attributes
+ 'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
+ 'Description', 'MountNames', 'ReferencedAssemblyId', 'ReferencedAssemblyIpn',
+ 'ReferencedAssemblyFullName'
],
'processEntity' => fn($entity, $depth) => [
'Id' => $entity->getId(),
@@ -432,18 +445,21 @@ class EntityExporter
'AssemblyNameHierarchical' => str_repeat('--', $depth) . ' ' . $entity->getName(),
'AssemblyName' => $entity->getName(),
'AssemblyFullName' => $this->getFullName($entity),
- 'BomQuantity' => '-',
- 'BomMultiplier' => '-',
- 'BomPartId' => '-',
- 'BomPartIpn' => '-',
- 'BomPartMpnr' => '-',
- 'BomPartName' => '-',
- 'BomDesignator' => '-',
- 'BomPartDescription' => '-',
- 'BomMountNames' => '-',
- 'BomReferencedAssemblyId' => '-',
- 'BomReferencedAssemblyIpn' => '-',
- 'BomReferencedAssemblyFullName' => '-',
+
+ //BOM relevant attributes
+ 'Quantity' => '-',
+ 'PartId' => '-',
+ 'PartName' => '-',
+ 'Ipn' => '-',
+ 'Manufacturer' => '-',
+ 'Mpn' => '-',
+ 'Name' => '-',
+ 'Designator' => '-',
+ 'Description' => '-',
+ 'MountNames' => '-',
+ 'ReferencedAssemblyId' => '-',
+ 'ReferencedAssemblyIpn' => '-',
+ 'ReferencedAssemblyFullName' => '-',
],
'processBomEntries' => fn($entity, $depth) => $this->processBomEntriesWithAggregatedParts($entity, $depth),
],
@@ -556,6 +572,7 @@ class EntityExporter
{
$rows = [];
+ /** @var AssemblyBOMEntry $bomEntry */
foreach ($assembly->getBomEntries() as $bomEntry) {
// Add the BOM entry itself
$rows[] = [
@@ -566,18 +583,21 @@ class EntityExporter
'AssemblyNameHierarchical' => str_repeat('--', $depth) . '> ' . $assembly->getName(),
'AssemblyName' => $assembly->getName(),
'AssemblyFullName' => $this->getFullName($assembly),
- 'BomQuantity' => $bomEntry->getQuantity() ?? '',
- 'BomMultiplier' => '',
- 'BomPartId' => $bomEntry->getPart()?->getId() ?? '-',
- 'BomPartIpn' => $bomEntry->getPart()?->getIpn() ?? '-',
- 'BomPartMpnr' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '-',
- 'BomPartName' => $bomEntry->getPart()?->getName() ?? '-',
- 'BomDesignator' => $bomEntry->getName() ?? '-',
- 'BomPartDescription' => $bomEntry->getPart()?->getDescription() ?? '-',
- 'BomMountNames' => $bomEntry->getMountNames(),
- 'BomReferencedAssemblyId' => $bomEntry->getReferencedAssembly()?->getId() ?? '-',
- 'BomReferencedAssemblyIpn' => $bomEntry->getReferencedAssembly()?->getIpn() ?? '-',
- 'BomReferencedAssemblyFullName' => $this->getFullName($bomEntry->getReferencedAssembly() ?? null),
+
+ //BOM relevant attributes
+ 'Quantity' => $bomEntry->getQuantity() ?? '',
+ 'PartId' => $bomEntry->getPart()?->getId() ?? '-',
+ 'PartName' => $bomEntry->getPart()?->getName() ?? '-',
+ 'Ipn' => $bomEntry->getPart()?->getIpn() ?? '-',
+ 'Manufacturer' => $bomEntry->getPart()?->getManufacturer()?->getName() ?? '-',
+ 'Mpn' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '-',
+ 'Name' => $bomEntry->getName() ?? '-',
+ 'Designator' => $bomEntry->getDesignator(),
+ 'MountNames' => $bomEntry->getMountNames(),
+ 'Description' => $bomEntry->getPart()?->getDescription() ?? '-',
+ 'ReferencedAssemblyId' => $bomEntry->getReferencedAssembly()?->getId() ?? '-',
+ 'ReferencedAssemblyIpn' => $bomEntry->getReferencedAssembly()?->getIpn() ?? '-',
+ 'ReferencedAssemblyFullName' => $this->getFullName($bomEntry->getReferencedAssembly() ?? null),
];
// If a referenced assembly exists, add aggregated parts
@@ -598,18 +618,21 @@ class EntityExporter
'AssemblyNameHierarchical' => '',
'AssemblyName' => $partAssembly ? $partAssembly->getName() : '',
'AssemblyFullName' => $this->getFullName($partAssembly),
- 'BomQuantity' => $partData['quantity'],
- 'BomMultiplier' => $partData['multiplier'],
- 'BomPartId' => $partData['part']?->getId(),
- 'BomPartIpn' => $partData['part']?->getIpn(),
- 'BomPartMpnr' => $partData['part']?->getManufacturerProductNumber(),
- 'BomPartName' => $partData['part']?->getName(),
- 'BomDesignator' => $partData['part']?->getName(),
- 'BomPartDescription' => $partData['part']?->getDescription(),
- 'BomMountNames' => '-',
- 'BomReferencedAssemblyId' => '-',
- 'BomReferencedAssemblyIpn' => '-',
- 'BomReferencedAssemblyFullName' => '-',
+
+ //BOM relevant attributes
+ 'Quantity' => $partData['quantity'],
+ 'PartId' => $partData['part']?->getId(),
+ 'PartName' => $partData['part']?->getName(),
+ 'Ipn' => $partData['part']?->getIpn(),
+ 'Manufacturer' => $partData['part']?->getManufacturer()?->getName(),
+ 'Mpn' => $partData['part']?->getManufacturerProductNumber(),
+ 'Name' => $partData['name'] ?? '',
+ 'Designator' => $partData['designator']?->getName(),
+ 'Description' => $partData['part']?->getDescription(),
+ 'MountNames' => '-',
+ 'ReferencedAssemblyId' => '-',
+ 'ReferencedAssemblyIpn' => '-',
+ 'ReferencedAssemblyFullName' => '-',
];
}
}
diff --git a/src/Settings/BehaviorSettings/AssemblyBomTableColumns.php b/src/Settings/BehaviorSettings/AssemblyBomTableColumns.php
index da8557c2..2833a3df 100644
--- a/src/Settings/BehaviorSettings/AssemblyBomTableColumns.php
+++ b/src/Settings/BehaviorSettings/AssemblyBomTableColumns.php
@@ -28,12 +28,20 @@ use Symfony\Contracts\Translation\TranslatorInterface;
enum AssemblyBomTableColumns : string implements TranslatableInterface
{
-
case NAME = "name";
case ID = "id";
case QUANTITY = "quantity";
case IPN = "ipn";
case DESCRIPTION = "description";
+ case CATEGORY = "category";
+ case MANUFACTURER = "manufacturer";
+ case DESIGNATOR = "designator";
+ case MOUNTNAMES = "mountnames";
+ case STORAGE_LOCATION = "storage_location";
+ case AMOUNT = "amount";
+ case ADDED_DATE = "addedDate";
+ case LAST_MODIFIED = "lastModified";
+ case EDIT = "edit";
public function trans(TranslatorInterface $translator, ?string $locale = null): string
{
diff --git a/src/Settings/BehaviorSettings/TableSettings.php b/src/Settings/BehaviorSettings/TableSettings.php
index 5c7455e2..cfe7e71b 100644
--- a/src/Settings/BehaviorSettings/TableSettings.php
+++ b/src/Settings/BehaviorSettings/TableSettings.php
@@ -97,8 +97,8 @@ class TableSettings
#[Assert\Unique()]
#[Assert\All([new Assert\Type(AssemblyBomTableColumns::class)])]
- public array $assembliesBomDefaultColumns = [AssemblyBomTableColumns::QUANTITY, AssemblyTableColumns::ID, AssemblyTableColumns::IPN,
- AssemblyTableColumns::NAME, AssemblyTableColumns::DESCRIPTION];
+ public array $assembliesBomDefaultColumns = [AssemblyBomTableColumns::QUANTITY, AssemblyBomTableColumns::ID,
+ AssemblyBomTableColumns::IPN, AssemblyBomTableColumns::NAME, AssemblyBomTableColumns::DESCRIPTION];
#[SettingsParameter(label: new TM("settings.behavior.table.preview_image_min_width"),
formOptions: ['attr' => ['min' => 1, 'max' => 100]],
diff --git a/templates/form/collection_types_layout_assembly.html.twig b/templates/form/collection_types_layout_assembly.html.twig
index 6dc6d49a..681b33b8 100644
--- a/templates/form/collection_types_layout_assembly.html.twig
+++ b/templates/form/collection_types_layout_assembly.html.twig
@@ -7,7 +7,7 @@
| {# expand button #}
{% trans %}assembly.bom.quantity{% endtrans %} |
{% trans %}assembly.bom.partOrAssembly{% endtrans %} |
- {% trans %}assembly.bom.name{% endtrans %} |
+ {% trans %}assembly.bom.identifiers{% endtrans %} |
| {# Remove button #}
@@ -41,16 +41,19 @@
{{ form_widget(form.quantity) }}
{{ form_errors(form.quantity) }}
-
+ |
{{ form_row(form.part) }}
{{ form_errors(form.part) }}
∨
{{ form_widget(form.referencedAssembly) }}
{{ form_errors(form.referencedAssembly) }}
|
-
- {{ form_widget(form.name) }}
+ |
+ {{ form_row(form.name) }}
{{ form_errors(form.name) }}
+
+ {{ form_row(form.designator) }}
+ {{ form_errors(form.designator) }}
|
|
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/translations/messages.cs.xlf b/translations/messages.cs.xlf
index 2f1b63a1..1fbf2bc9 100644
--- a/translations/messages.cs.xlf
+++ b/translations/messages.cs.xlf
@@ -13600,6 +13600,18 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
Názvy osazení
+
+
+ assembly.bom.designator
+ Referenční označení
+
+
+
+
+ assembly.bom.designator.help
+ Volná referenční označení (designator)
+
+
assembly.bom.instockAmount
@@ -13750,6 +13762,12 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
Název
+
+
+ assembly.bom.name.help
+ Člověkem čitelný název položky kusovníku
+
+
assembly.bom.comment
@@ -13786,6 +13804,12 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
Součást nebo sestava
+
+
+ assembly.bom.identifiers
+ Identifikátory
+
+
assembly.bom.add_entry
@@ -14877,5 +14901,59 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
Popis
+
+
+ assembly.bom.table.category
+ Kategorie
+
+
+
+
+ assembly.bom.table.manufacturer
+ Výrobce
+
+
+
+
+ assembly.bom.table.designator
+ Referenční označení
+
+
+
+
+ assembly.bom.table.mountnames
+ Názvy osazení
+
+
+
+
+ assembly.bom.table.storage_location
+ Skladové umístění
+
+
+
+
+ assembly.bom.table.amount
+ Množství
+
+
+
+
+ assembly.bom.table.addedDate
+ Vytvořeno
+
+
+
+
+ assembly.bom.table.lastModified
+ Naposledy změněno
+
+
+
+
+ assembly.bom.table.edit
+ Upravit
+
+
diff --git a/translations/messages.da.xlf b/translations/messages.da.xlf
index 90614740..bc2bbf5b 100644
--- a/translations/messages.da.xlf
+++ b/translations/messages.da.xlf
@@ -12725,6 +12725,18 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
Monteringsnavne
+
+
+ assembly.bom.designator
+ Referencebetegnelse
+
+
+
+
+ assembly.bom.designator.help
+ Frie referencebetegnelser (designator)
+
+
assembly.bom.instockAmount
@@ -12875,6 +12887,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
Navn
+
+
+ assembly.bom.name.help
+ Menneskelæselig titel på styklisteposten
+
+
assembly.bom.comment
@@ -12911,6 +12929,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
Del eller samling
+
+
+ assembly.bom.identifiers
+ Identifikatorer
+
+
assembly.bom.add_entry
@@ -13522,5 +13546,59 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
Beskrivelse
+
+
+ assembly.bom.table.category
+ Kategori
+
+
+
+
+ assembly.bom.table.manufacturer
+ Producent
+
+
+
+
+ assembly.bom.table.designator
+ Referencebetegnelse
+
+
+
+
+ assembly.bom.table.mountnames
+ Monteringsnavne
+
+
+
+
+ assembly.bom.table.storage_location
+ Lagerplacering
+
+
+
+
+ assembly.bom.table.amount
+ Mængde
+
+
+
+
+ assembly.bom.table.addedDate
+ Oprettet
+
+
+
+
+ assembly.bom.table.lastModified
+ Sidst ændret
+
+
+
+
+ assembly.bom.table.edit
+ Rediger
+
+
diff --git a/translations/messages.de.xlf b/translations/messages.de.xlf
index 55045836..5b32df4f 100644
--- a/translations/messages.de.xlf
+++ b/translations/messages.de.xlf
@@ -13482,6 +13482,18 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
Bestückungsnamen
+
+
+ assembly.bom.designator
+ Referenzbezeichner (Designator)
+
+
+
+
+ assembly.bom.designator.help
+ Freie Bezeichnungskennungen (Designator)
+
+
assembly.bom.instockAmount
@@ -13632,6 +13644,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
Name
+
+
+ assembly.bom.name.help
+ Menschenlesbarer Titel des Stücklisteneintrags
+
+
assembly.bom.comment
@@ -13668,6 +13686,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
Bauteil oder Baugruppe
+
+
+ assembly.bom.identifiers
+ Kennungen
+
+
assembly.bom.add_entry
@@ -15551,5 +15575,59 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
Beschreibung
+
+
+ assembly.bom.table.category
+ Kategorie
+
+
+
+
+ assembly.bom.table.manufacturer
+ Hersteller
+
+
+
+
+ assembly.bom.table.designator
+ Referenzbezeichner (Designator)
+
+
+
+
+ assembly.bom.table.mountnames
+ Bestückungsnamen
+
+
+
+
+ assembly.bom.table.storage_location
+ Lagerort
+
+
+
+
+ assembly.bom.table.amount
+ Menge
+
+
+
+
+ assembly.bom.table.addedDate
+ Erstellt am
+
+
+
+
+ assembly.bom.table.lastModified
+ Zuletzt bearbeitet
+
+
+
+
+ assembly.bom.table.edit
+ Bearbeiten
+
+
diff --git a/translations/messages.el.xlf b/translations/messages.el.xlf
index e6cf3986..3582b36b 100644
--- a/translations/messages.el.xlf
+++ b/translations/messages.el.xlf
@@ -1733,6 +1733,18 @@
Ονόματα συναρμολόγησης
+
+
+ assembly.bom.designator
+ Αναγνωριστικό αναφοράς
+
+
+
+
+ assembly.bom.designator.help
+ Ελεύθερα αναγνωριστικά αναφοράς (designator)
+
+
assembly.bom.instockAmount
@@ -1883,6 +1895,12 @@
Όνομα
+
+
+ assembly.bom.name.help
+ Ανθρώπινα αναγνώσιμος τίτλος της καταχώρησης BOM
+
+
assembly.bom.comment
@@ -1919,6 +1937,12 @@
Μέρος ή συναρμολόγηση
+
+
+ assembly.bom.identifiers
+ Αναγνωριστικά
+
+
assembly.bom.add_entry
@@ -2530,5 +2554,59 @@
Περιγραφή
+
+
+ assembly.bom.table.category
+ Κατηγορία
+
+
+
+
+ assembly.bom.table.manufacturer
+ Κατασκευαστής
+
+
+
+
+ assembly.bom.table.designator
+ Αναγνωριστικό αναφοράς
+
+
+
+
+ assembly.bom.table.mountnames
+ Ονόματα τοποθέτησης
+
+
+
+
+ assembly.bom.table.storage_location
+ Θέση αποθήκευσης
+
+
+
+
+ assembly.bom.table.amount
+ Ποσότητα
+
+
+
+
+ assembly.bom.table.addedDate
+ Δημιουργήθηκε
+
+
+
+
+ assembly.bom.table.lastModified
+ Τελευταία τροποποίηση
+
+
+
+
+ assembly.bom.table.edit
+ Επεξεργασία
+
+
diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf
index 6c83146c..a5b9c9c8 100644
--- a/translations/messages.en.xlf
+++ b/translations/messages.en.xlf
@@ -13483,6 +13483,18 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Mount names
+
+
+ assembly.bom.designator
+ Free identifiers (designator)
+
+
+
+
+ assembly.bom.designator.help
+ Free identifiers (designator)
+
+
assembly.bom.instockAmount
@@ -13633,6 +13645,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Name
+
+
+ assembly.bom.name.help
+ Human-readable title of the BOM entry
+
+
assembly.bom.comment
@@ -13669,6 +13687,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Part or assembly
+
+
+ assembly.bom.identifiers
+ Identifiers
+
+
assembly.bom.add_entry
@@ -15552,5 +15576,59 @@ Please note, that you can not impersonate a disabled user. If you try you will g
Description
+
+
+ assembly.bom.table.category
+ Category
+
+
+
+
+ assembly.bom.table.manufacturer
+ Manufacturer
+
+
+
+
+ assembly.bom.table.designator
+ Free identifiers (designator)
+
+
+
+
+ assembly.bom.table.mountnames
+ Mount names
+
+
+
+
+ assembly.bom.table.storage_location
+ Storage location
+
+
+
+
+ assembly.bom.table.amount
+ Amount
+
+
+
+
+ assembly.bom.table.addedDate
+ Created at
+
+
+
+
+ assembly.bom.table.lastModified
+ Last modified
+
+
+
+
+ assembly.bom.table.edit
+ Edit
+
+
diff --git a/translations/messages.es.xlf b/translations/messages.es.xlf
index 8101f36e..bb22c245 100644
--- a/translations/messages.es.xlf
+++ b/translations/messages.es.xlf
@@ -12873,6 +12873,18 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
Nombres de montaje
+
+
+ assembly.bom.designator
+ Designador de referencia
+
+
+
+
+ assembly.bom.designator.help
+ Identificadores de referencia libres (designator)
+
+
assembly.bom.instockAmount
@@ -13023,6 +13035,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
Nombre
+
+
+ assembly.bom.name.help
+ Título legible por humanos de la entrada de la lista de materiales
+
+
assembly.bom.comment
@@ -13059,6 +13077,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
Parte o conjunto
+
+
+ assembly.bom.identifiers
+ Identificadores
+
+
assembly.bom.add_entry
@@ -13694,5 +13718,59 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
Descripción
+
+
+ assembly.bom.table.category
+ Categoría
+
+
+
+
+ assembly.bom.table.manufacturer
+ Fabricante
+
+
+
+
+ assembly.bom.table.designator
+ Designador de referencia
+
+
+
+
+ assembly.bom.table.mountnames
+ Nombres de montaje
+
+
+
+
+ assembly.bom.table.storage_location
+ Ubicación de almacenamiento
+
+
+
+
+ assembly.bom.table.amount
+ Cantidad
+
+
+
+
+ assembly.bom.table.addedDate
+ Creado el
+
+
+
+
+ assembly.bom.table.lastModified
+ Última modificación
+
+
+
+
+ assembly.bom.table.edit
+ Editar
+
+
diff --git a/translations/messages.fr.xlf b/translations/messages.fr.xlf
index 4da61a17..d79976f1 100644
--- a/translations/messages.fr.xlf
+++ b/translations/messages.fr.xlf
@@ -9295,6 +9295,18 @@ exemple de ville
Noms de montage
+
+
+ assembly.bom.designator
+ Désignateur
+
+
+
+
+ assembly.bom.designator.help
+ Identifiants de référence libres (designator)
+
+
assembly.bom.instockAmount
@@ -9445,6 +9457,12 @@ exemple de ville
Nom
+
+
+ assembly.bom.name.help
+ Titre lisible par l’humain de l’entrée de nomenclature
+
+
assembly.bom.comment
@@ -9481,6 +9499,12 @@ exemple de ville
Pièce ou assemblage
+
+
+ assembly.bom.identifiers
+ Identifiants
+
+
assembly.bom.add_entry
@@ -10104,5 +10128,59 @@ exemple de ville
Description
+
+
+ assembly.bom.table.category
+ Catégorie
+
+
+
+
+ assembly.bom.table.manufacturer
+ Fabricant
+
+
+
+
+ assembly.bom.table.designator
+ Désignateur de référence
+
+
+
+
+ assembly.bom.table.mountnames
+ Noms de montage
+
+
+
+
+ assembly.bom.table.storage_location
+ Emplacement de stockage
+
+
+
+
+ assembly.bom.table.amount
+ Quantité
+
+
+
+
+ assembly.bom.table.addedDate
+ Créé le
+
+
+
+
+ assembly.bom.table.lastModified
+ Dernière modification
+
+
+
+
+ assembly.bom.table.edit
+ Modifier
+
+
diff --git a/translations/messages.it.xlf b/translations/messages.it.xlf
index 19e76ee0..f0384b54 100644
--- a/translations/messages.it.xlf
+++ b/translations/messages.it.xlf
@@ -12875,6 +12875,18 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
Nomi di montaggio
+
+
+ assembly.bom.designator
+ Designatore di riferimento
+
+
+
+
+ assembly.bom.designator.help
+ Identificatori di riferimento liberi (designator)
+
+
assembly.bom.instockAmount
@@ -13025,6 +13037,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
Nome
+
+
+ assembly.bom.name.help
+ Titolo leggibile dall'utente della voce della distinta base
+
+
assembly.bom.comment
@@ -13061,6 +13079,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
Parte o assieme
+
+
+ assembly.bom.identifiers
+ Identificatori
+
+
assembly.bom.add_entry
@@ -13696,5 +13720,59 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
Descrizione
+
+
+ assembly.bom.table.category
+ Categoria
+
+
+
+
+ assembly.bom.table.manufacturer
+ Produttore
+
+
+
+
+ assembly.bom.table.designator
+ Designatore di riferimento
+
+
+
+
+ assembly.bom.table.mountnames
+ Nomi di montaggio
+
+
+
+
+ assembly.bom.table.storage_location
+ Ubicazione di magazzino
+
+
+
+
+ assembly.bom.table.amount
+ Quantità
+
+
+
+
+ assembly.bom.table.addedDate
+ Creato il
+
+
+
+
+ assembly.bom.table.lastModified
+ Ultima modifica
+
+
+
+
+ assembly.bom.table.edit
+ Modifica
+
+
diff --git a/translations/messages.ja.xlf b/translations/messages.ja.xlf
index e2e50d77..a7d95fa1 100644
--- a/translations/messages.ja.xlf
+++ b/translations/messages.ja.xlf
@@ -9032,6 +9032,18 @@ Exampletown
取り付け名
+
+
+ assembly.bom.designator
+ 参照記号
+
+
+
+
+ assembly.bom.designator.help
+ 自由な参照記号(デジグネータ)
+
+
assembly.bom.instockAmount
@@ -9182,6 +9194,12 @@ Exampletown
名前
+
+
+ assembly.bom.name.help
+ BOM エントリの人間が読めるタイトル
+
+
assembly.bom.comment
@@ -9206,6 +9224,24 @@ Exampletown
必要な数量
+
+
+ assembly.import_bom
+ アセンブリの部品表をインポート
+
+
+
+
+ assembly.bom.partOrAssembly
+ 部品またはアセンブリ
+
+
+
+
+ assembly.bom.identifiers
+ 識別子
+
+
assembly.build.yes_button
@@ -9817,5 +9853,59 @@ Exampletown
説明
+
+
+ assembly.bom.table.category
+ カテゴリ
+
+
+
+
+ assembly.bom.table.manufacturer
+ メーカー
+
+
+
+
+ assembly.bom.table.designator
+ 参照記号
+
+
+
+
+ assembly.bom.table.mountnames
+ 実装名
+
+
+
+
+ assembly.bom.table.storage_location
+ 保管場所
+
+
+
+
+ assembly.bom.table.amount
+ 数量
+
+
+
+
+ assembly.bom.table.addedDate
+ 作成日
+
+
+
+
+ assembly.bom.table.lastModified
+ 最終更新
+
+
+
+
+ assembly.bom.table.edit
+ 編集
+
+
diff --git a/translations/messages.nl.xlf b/translations/messages.nl.xlf
index a892fc58..6718fb2c 100644
--- a/translations/messages.nl.xlf
+++ b/translations/messages.nl.xlf
@@ -922,6 +922,18 @@
Montagenamen
+
+
+ assembly.bom.designator
+ Referentieaanduiding
+
+
+
+
+ assembly.bom.designator.help
+ Vrije referentieaanduidingen (designator)
+
+
assembly.bom.instockAmount
@@ -1072,6 +1084,12 @@
Naam
+
+
+ assembly.bom.name.help
+ Menselijk leesbare titel van de stuklijstinvoer
+
+
assembly.bom.comment
@@ -1108,6 +1126,12 @@
Onderdeel of samenstelling
+
+
+ assembly.bom.identifiers
+ Identificatoren
+
+
assembly.bom.add_entry
@@ -1755,5 +1779,59 @@
Beschrijving
+
+
+ assembly.bom.table.category
+ Categorie
+
+
+
+
+ assembly.bom.table.manufacturer
+ Fabrikant
+
+
+
+
+ assembly.bom.table.designator
+ Referentieaanduiding
+
+
+
+
+ assembly.bom.table.mountnames
+ Montagenamen
+
+
+
+
+ assembly.bom.table.storage_location
+ Opslaglocatie
+
+
+
+
+ assembly.bom.table.amount
+ Aantal
+
+
+
+
+ assembly.bom.table.addedDate
+ Aangemaakt op
+
+
+
+
+ assembly.bom.table.lastModified
+ Laatst gewijzigd
+
+
+
+
+ assembly.bom.table.edit
+ Bewerken
+
+
diff --git a/translations/messages.pl.xlf b/translations/messages.pl.xlf
index 9f415c56..4bf38d19 100644
--- a/translations/messages.pl.xlf
+++ b/translations/messages.pl.xlf
@@ -12752,6 +12752,18 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
Nazwy montażu
+
+
+ assembly.bom.designator
+ Oznaczenie referencyjne
+
+
+
+
+ assembly.bom.designator.help
+ Dowolne oznaczenia referencyjne (designator)
+
+
assembly.bom.instockAmount
@@ -12902,6 +12914,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
Nazwa
+
+
+ assembly.bom.name.help
+ Czytelny dla człowieka tytuł pozycji listy materiałowej
+
+
assembly.bom.comment
@@ -12938,6 +12956,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
Część lub zespół
+
+
+ assembly.bom.identifiers
+ Identyfikatory
+
+
assembly.bom.add_entry
@@ -13549,5 +13573,59 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
Opis
+
+
+ assembly.bom.table.category
+ Kategoria
+
+
+
+
+ assembly.bom.table.manufacturer
+ Producent
+
+
+
+
+ assembly.bom.table.designator
+ Oznaczenie referencyjne
+
+
+
+
+ assembly.bom.table.mountnames
+ Nazwy montażowe
+
+
+
+
+ assembly.bom.table.storage_location
+ Miejsce przechowywania
+
+
+
+
+ assembly.bom.table.amount
+ Ilość
+
+
+
+
+ assembly.bom.table.addedDate
+ Data utworzenia
+
+
+
+
+ assembly.bom.table.lastModified
+ Ostatnia modyfikacja
+
+
+
+
+ assembly.bom.table.edit
+ Edytuj
+
+
diff --git a/translations/messages.ru.xlf b/translations/messages.ru.xlf
index 3391bf50..05b01faf 100644
--- a/translations/messages.ru.xlf
+++ b/translations/messages.ru.xlf
@@ -12852,6 +12852,18 @@
Названия монтажей
+
+
+ assembly.bom.designator
+ Позиционное обозначение
+
+
+
+
+ assembly.bom.designator.help
+ Свободные позиционные обозначения (designator)
+
+
assembly.bom.instockAmount
@@ -13002,6 +13014,12 @@
Название
+
+
+ assembly.bom.name.help
+ Человекочитаемый заголовок записи BOM
+
+
assembly.bom.comment
@@ -13038,6 +13056,12 @@
Часть или сборка
+
+
+ assembly.bom.identifiers
+ Идентификаторы
+
+
assembly.bom.add_entry
@@ -13649,5 +13673,59 @@
Описание
+
+
+ assembly.bom.table.category
+ Категория
+
+
+
+
+ assembly.bom.table.manufacturer
+ Производитель
+
+
+
+
+ assembly.bom.table.designator
+ Позиционное обозначение
+
+
+
+
+ assembly.bom.table.mountnames
+ Названия монтажа
+
+
+
+
+ assembly.bom.table.storage_location
+ Место хранения
+
+
+
+
+ assembly.bom.table.amount
+ Количество
+
+
+
+
+ assembly.bom.table.addedDate
+ Дата создания
+
+
+
+
+ assembly.bom.table.lastModified
+ Последнее изменение
+
+
+
+
+ assembly.bom.table.edit
+ Редактировать
+
+
diff --git a/translations/messages.zh.xlf b/translations/messages.zh.xlf
index bfbf1db4..084ff131 100644
--- a/translations/messages.zh.xlf
+++ b/translations/messages.zh.xlf
@@ -12737,6 +12737,18 @@ Element 3
安装名称
+
+
+ assembly.bom.designator
+ 位号
+
+
+
+
+ assembly.bom.designator.help
+ 自由参考位号(Designator)
+
+
assembly.bom.instockAmount
@@ -12887,6 +12899,12 @@ Element 3
名称
+
+
+ assembly.bom.name.help
+ BOM 条目的可读标题
+
+
assembly.bom.comment
@@ -12923,6 +12941,12 @@ Element 3
部件或组件
+
+
+ assembly.bom.identifiers
+ 标识符
+
+
assembly.bom.add_entry
@@ -13534,5 +13558,59 @@ Element 3
描述
+
+
+ assembly.bom.table.category
+ 类别
+
+
+
+
+ assembly.bom.table.manufacturer
+ 制造商
+
+
+
+
+ assembly.bom.table.designator
+ 位号
+
+
+
+
+ assembly.bom.table.mountnames
+ 装配名称
+
+
+
+
+ assembly.bom.table.storage_location
+ 存储位置
+
+
+
+
+ assembly.bom.table.amount
+ 数量
+
+
+
+
+ assembly.bom.table.addedDate
+ 创建时间
+
+
+
+
+ assembly.bom.table.lastModified
+ 最后修改
+
+
+
+
+ assembly.bom.table.edit
+ 编辑
+
+