08.02.2007, 13:54 | #1 |
Участник
|
Сделал один отчётец с выгрузкой в 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> В чём может быть проблема? |
|