AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.04.2018, 14:32   #1  
BuzCom is offline
BuzCom
Участник
 
59 / 17 (1) ++
Регистрация: 10.08.2017
Angry Вывод формулы в Excel
Нужно вывести в Excel формулу с условиями. Вывод делается через dotnet Microsoft.Dynamics.Nav.OpenXml.Spreadsheet.WorksheetWriter. Простые формулы выводятся без проблем, а с условиями (SUMIF, SUMIFS) - падает с ошибкой xml. После изучения вопроса оказалось, что действительно условные формулы поддерживаются криво, и рекомендуется использовать комбинации SUM(IF...
Вот здесь и заковырка. Т.к. формула по диапазону строк, то в экселе это формула массива, и ели вводить её руками, то в конце нужно нажать ctrl+shift+enter. тогда формула обрамляется фигурными скобками и работает как надо:
{=СУММ(ЕСЛИ(M11:M14<>0;Q11:Q14;ЕСЛИ(L11:L14<>0;Q11:Q14;ЕСЛИ(K11:K14<>0;Q11:Q14;0))))}
Как заставить так же выводится из NAV ? Метод SetCellFormula, похоже, не понимает фигурные скобки, а без них формула дает ошибку. И в том, и в другом случае имеем системную ошибку "Исключение из HRESULT: 0x800A03EC".
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
alexef: Sample Extension v2.0 — Dynamics NAV / AL extension / SaaS — ALF Export Setup Tabs to Excel Blog bot NAV: Blogs 3 05.10.2018 23:13
Автоматический вывод отчета Excel на принтер по умолчанию. RastaYak NAV: Программирование 1 12.01.2017 13:24
Excel и вывод формул на экран randrews NAV: Программирование 5 09.04.2007 05:41
Вывод в Excel. VPageBreaks grif NAV: Программирование 4 27.10.2006 12:03
Вывод в Excel, обрамление ячейки Шрэк NAV: Программирование 3 11.10.2005 09:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:33.