Сделал один отчётец с выгрузкой в Excel. На одних и тех же входных данных он иногда отрабатывает нормально, иногда недовыгрузившись клиент навижен (3.6) совершает ошибку и вырубается причём каждый в совершенно разных строках, но всегда в одном и том же столбце.
Вот кусок кода по формированию значения ячейки и выгрузки его в Excel
<div class='CALtop'>C/AL</div><div class='CAL'>
IF VPG.GET("Purch. Inv. Header"."Vendor Posting Group") THEN
BEGIN
_acc := VPG."Payables Account";
Sheet.Range('F'+FORMAT(StrNum)).NumberFormat := '@';
Sheet.Range('F'+FORMAT(StrNum)).Value := _acc;
END
ELSE _acc := '';
Sheet.Range('G'+FORMAT(StrNum)).WrapText := TRUE;
</div>
Формат ячейки устанавливался в текстовый, но вот значение не заносилось. Для экспериментов встаивл через строчку коды для облегчения поиска ошибочного момента
<div class='CALtop'>C/AL</div><div class='CAL'>
Sheet.Range('F'+FORMAT(StrNum)).Value := '1';
IF VPG.GET("Purch. Inv. Header"."Vendor Posting Group") THEN
BEGIN
Sheet.Range('F'+FORMAT(StrNum)).Value := '2';
_acc := VPG."Payables Account";
Sheet.Range('F'+FORMAT(StrNum)).Value := '3';
Sheet.Range('F'+FORMAT(StrNum)).NumberFormat := '@';
Sheet.Range('F'+FORMAT(StrNum)).Value := '4';
Sheet.Range('F'+FORMAT(StrNum)).Value := _acc;
END
ELSE _acc := '';
Sheet.Range('G'+FORMAT(StrNum)).WrapText := TRUE;
</div>
Когда вылетал навижен в Excel было записано всего 4, т.е. вылетает на
Sheet.Range('F'+FORMAT(StrNum)).Value := _acc;
Типы следующие:
<div class='CALtop'>C/AL</div><div class='CAL'>
_acc CODE 20
VPG RECORD Vendor Posting Group
</div>
В чём может быть проблема?
|