RoleTailored クライアントの Microsoft Dynamics NAV 2009 年にレポートを印刷するとき、顧客-ラベル レポート (110) が適切な場所にラベルを表示しません。


この資料では、すべての国と言語ロケールのすべての Microsoft Dynamics NAV に該当します。

現象


顧客-ラベル レポート (110) を Microsoft Dynamics NAV 2009 年に RoleTailored クライアント (RTC) に印刷すると、レポートは適切な場所にラベルを表示できません。新しい余白は、各ページに表示されます。したがって、適切な場所にラベルを表示できません。
この問題は、次の製品で発生します。
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 サービス パック 1 (SP1)

解決策


修正プログラムの情報

サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV の service pack または修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。

注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。


インストール情報

マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能を説明することができますが、機能の追加またはお客様固有の要件を満たすようにプロシージャを作成するこれらの例は変更されません。

注: この修正プログラムをインストールする前に、Microsoft Navision のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Navision アプリケーション サービス (NAS) クライアントのユーザーが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。

この修正プログラムを実装するには、開発者用のライセンスが必要です。

ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。
  • 変更するオブジェクトの変更のアクセス許可。
  • システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015オブジェクトの実行が許可されます。


注: データの修復を実行する必要があるない限り、データ ストアへの権限を持っている必要はありません。

コードの変更

注: 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。
この問題を解決するには、次の手順を実行します。
  1. 次のようにお客様の宛名ラベル] レポート (110) では、オブジェクトの見出しのコードを変更します。
    既存のコード
    OBJECT Report 110 Customer - Labels{
    OBJECT-PROPERTIES
    {

    // Delete the following lines.
    Date=14/08/09;
    Time=12:00:00;
    // End of the lines.

    Version List=NAVW16.00.01;
    }
    PROPERTIES
    {
    CaptionML=ENU=Customer - Labels;
    置換用コード
    OBJECT Report 110 Customer - Labels{
    OBJECT-PROPERTIES
    {

    // Add the following lines.
    Date=15/02/11;
    Time=11:18:37;
    Modified=Yes;
    // End of the lines.

    Version List=NAVW16.00.01;
    }
    PROPERTIES
    {
    CaptionML=ENU=Customer - Labels;
  2. 顧客 - 宛名ラベル] レポート (110) のプロパティのコードを次のように変更します。
    既存のコード
    ...Version List=NAVW16.00.01;
    }
    PROPERTIES
    {
    CaptionML=ENU=Customer - Labels;
    }
    DATAITEMS
    {
    { PROPERTIES
    {
    ...
    置換用コード
    ...Version List=NAVW16.00.01;
    }
    PROPERTIES
    {
    CaptionML=ENU=Customer - Labels;

    // Add the following lines.
    OnPreReport=BEGIN
    GroupNo := 1;
    RecPerPageNum := 6;
    END;
    // End of the lines.

    }
    DATAITEMS
    {
    { PROPERTIES
    {
    ...
  3. 宛名ラベル] レポート (110) - お客様のデータ項目数 1 のコードを次のように変更します。
    既存のコード 1
    ...LabelFormat::"36 x 70 mm (3 columns)",LabelFormat::"37 x 70 mm (3 columns)":
    NoOfColumns := 3;
    LabelFormat::"36 x 105 mm (2 columns)",LabelFormat::"37 x 105 mm (2 columns)":
    NoOfColumns := 2;
    END;

    // Delete the following line.
    NoOfRecords := COUNT;

    END;

    OnAfterGetRecord=BEGIN
    RecordNo := RecordNo + 1;
    ColumnNo := ColumnNo + 1;
    ...
    置換用コード 1
    ...LabelFormat::"36 x 70 mm (3 columns)",LabelFormat::"37 x 70 mm (3 columns)":
    NoOfColumns := 3;
    LabelFormat::"36 x 105 mm (2 columns)",LabelFormat::"37 x 105 mm (2 columns)":
    NoOfColumns := 2;
    END;

    // Add the following lines.
    NoOfRecords := COUNT;
    RecordNo := 0;
    // End of the lines.

    END;

    OnAfterGetRecord=BEGIN
    RecordNo := RecordNo + 1;
    ColumnNo := ColumnNo + 1;
    ...
    既存のコード 2
    ...ColumnNo := 0;
    END ELSE BEGIN
    IF ColumnNo = NoOfColumns THEN
    ColumnNo := 0;
    END;
    END;

    ReqFilterFields=No.,Name;
    }
    SECTIONS
    ...
    置換用コード 2
    ...ColumnNo := 0;
    END ELSE BEGIN
    IF ColumnNo = NoOfColumns THEN
    ColumnNo := 0;
    END;

    // Add the following lines.
    IF ISSERVICETIER THEN
    IF ColumnNo = 0 THEN BEGIN
    IF Counter = RecPerPageNum THEN BEGIN
    GroupNo := GroupNo + 1;
    Counter := 0;
    END;
    Counter := Counter + 1;
    END;
    // End of the lines.

    END;

    ReqFilterFields=No.,Name;
    }
    SECTIONS
    ...
  4. 顧客 - 宛名ラベル] レポート (110) 内のデータ アイテム数 1 セクション内のコードを次のように変更します。
    既存のコード 1
    ...{ 81 ;TextBox ;13800;0 ;150 ;423 ;Name=ShowBody1;
    Visible=No;
    ForeColor=65535;
    SourceExpr=(ColumnNo = 0) AND (LabelFormat = LabelFormat::"36 x 70 mm (3 columns)");
    DataSetFieldName=ShowBody1 }
    }
    }
    { PROPERTIES
    {
    SectionType=Body;
    ...
    置換用コード 1
    ...{ 81 ;TextBox ;13800;0 ;150 ;423 ;Name=ShowBody1;
    Visible=No;
    ForeColor=65535;
    SourceExpr=(ColumnNo = 0) AND (LabelFormat = LabelFormat::"36 x 70 mm (3 columns)");
    DataSetFieldName=ShowBody1 }

    // Add the following lines.
    { 85 ;TextBox;13650;0 ;150 ;423 ;Name=GroupNo1;
    Visible=No;
    ForeColor=65535;
    SourceExpr=GroupNo;
    DataSetFieldName=GroupNo1 }
    // End of the lines.

    }
    }
    { PROPERTIES
    {
    SectionType=Body;
    ...
    既存のコード 2
    ...}
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=20500;

    // Delete the following line.
    SectionHeight=3700;

    KeepWithNext=No;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT((ColumnNo = 0) AND (LabelFormat = LabelFormat::"37 x 105 mm (2 columns)"));
    END;
    ...
    置換用コード 2
    ...}
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=20500;

    // Add the following line.
    SectionHeight=3384;

    KeepWithNext=No;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT((ColumnNo = 0) AND (LabelFormat = LabelFormat::"37 x 105 mm (2 columns)"));
    END;
    ...
  5. 次のようにお客様の宛名ラベル] レポート (110) のグローバル変数内のコードを変更します。
    既存のコード 1
    ...NoOfRecords@1002 : Integer;
    RecordNo@1003 : Integer;
    NoOfColumns@1004 : Integer;
    ColumnNo@1005 : Integer;
    i@1006 : Integer;
    FormatAddr@1007 : Codeunit 365;

    BEGIN
    END.
    }
    ...
    置換用コード 1
    ...NoOfRecords@1002 : Integer;
    RecordNo@1003 : Integer;
    NoOfColumns@1004 : Integer;
    ColumnNo@1005 : Integer;
    i@1006 : Integer;

    // Add the following lines.
    GroupNo@1008 : Integer;
    Counter@1009 : Integer;
    RecPerPageNum@1010 : Integer;
    // End of the lines.

    FormatAddr@1007 : Codeunit 365;

    BEGIN
    END.
    }
    ...
    既存のコード 2
    ...</TableColumn>
    <TableColumn>
    <Width>6.15cm</Width>
    </TableColumn>
    </TableColumns>
    <Width>18.44cm</Width>
    </Table>
    </ReportItems>
    </Body>
    <BottomMargin>2cm</BottomMargin>
    ...
    置換用コード 2
    ...</TableColumn>
    <TableColumn>
    <Width>6.15cm</Width>
    </TableColumn>
    </TableColumns>

    // Add the following lines.
    <TableGroups>
    <TableGroup>
    <Grouping Name="Table1_Group1">
    <GroupExpressions>
    <GroupExpression>=Fields!GroupNo1.Value</GroupExpression>
    </GroupExpressions>
    <PageBreakAtEnd>true</PageBreakAtEnd>
    </Grouping>
    </TableGroup>
    </TableGroups>
    // End of the lines.

    <Width>18.44cm</Width>
    </Table>
    </ReportItems>
    </Body>
    <BottomMargin>2cm</BottomMargin>
    ...
    既存のコード 3
    ...Return Value
    End Function
    </Code>
    <DataSets>
    <DataSet Name="DataSet_Result">

    // Delete the following lines.
    <Query>
    <CommandText />
    <DataSourceName>DummyDataSource</DataSourceName>
    </Query>
    // End of the lines.

    <Fields>
    <Field Name="CustAddr_1__1_">
    <DataField>CustAddr_1__1_</DataField>
    </Field>
    <Field Name="CustAddr_1__2_">
    ...
    置換用コード 3
    ...Return Value
    End Function
    </Code>
    <DataSets>
    <DataSet Name="DataSet_Result">
    <Fields>
    <Field Name="CustAddr_1__1_">
    <DataField>CustAddr_1__1_</DataField>
    </Field>
    <Field Name="CustAddr_1__2_">
    ...
    既存コード 4
    ...<DataField>CustAddr_3__8_</DataField>
    </Field>
    <Field Name="ShowBody1">
    <DataField>ShowBody1</DataField>
    </Field>
    <Field Name="ShowBody2">
    <DataField>ShowBody2</DataField>
    </Field>
    <Field Name="ShowBody3">
    <DataField>ShowBody3</DataField>
    ...
    置換用コード 4
    ...<DataField>CustAddr_3__8_</DataField>
    </Field>
    <Field Name="ShowBody1">
    <DataField>ShowBody1</DataField>
    </Field>

    // Add the following lines.
    <Field Name="GroupNo1">
    <DataField>GroupNo1</DataField>
    </Field>
    // End of the lines.

    <Field Name="ShowBody2">
    <DataField>ShowBody2</DataField>
    </Field>
    <Field Name="ShowBody3">
    <DataField>ShowBody3</DataField>
    ...
    既存コード 5
    ...</Field>
    <Field Name="Customer_No_">
    <DataField>Customer_No_</DataField>
    </Field>
    </Fields>
    <rd:DataSetInfo>
    <rd:DataSetName>DataSet</rd:DataSetName>
    <rd:TableName>Result</rd:TableName>
    </rd:DataSetInfo>
    </DataSet>
    ...
    置換用コード 5
    ...</Field>
    <Field Name="Customer_No_">
    <DataField>Customer_No_</DataField>
    </Field>
    </Fields>

    // Add the following lines.
    <Query>
    <CommandText />
    <DataSourceName>DummyDataSource</DataSourceName>
    </Query>
    // End of the lines.

    <rd:DataSetInfo>
    <rd:DataSetName>DataSet</rd:DataSetName>
    <rd:TableName>Result</rd:TableName>
    </rd:DataSetInfo>
    </DataSet>
    ...

必要条件

この修正プログラムを適用するのにはインストールされている製品は次のいずれかが必要です。
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 サービス パック 1 (SP1)

アンインストール情報

この修正プログラムを削除することはできません。

状況


マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
注: これは、マイクロソフト サポートの組織内から直接作成した「高速公開」の資料です。ここに含まれる情報は、新たに発生している問題に応じて現状のまま提供されています。速やかに利用できるようにした結果として、内容には誤植が含まれている可能性があり、事前告知なしで改訂する場合があります。その他の考慮事項については、使用条件を参照してください。