Created attachment 180873 [details] attachment 56010 [details] saved in Word2016 to docx This is related to bug 114537 When the attached file - a docx saved from doc attachment 56010 [details] of bug 43569 - is opened in Writer, the conditional field is recognized, but its Condition, Then and Else parameters are not, as seen in its Edit dialog. Consequently, it does not work either. 1, Open attached file in Writer 2, Double click on the test1 field In the dialog the Condition, Then and Else boxes are empty, but should have the condition as 1=1, Then as test1 and Else as test2. Word shows it as: IF 1 = 1 "test1" "test2" \* MERGEFORMAT Version: 7.5.0.0.alpha0+ (x64) / LibreOffice Community Build ID: 3b852f274696a5e2a44bb4107c37cea9d291758e CPU threads: 14; OS: Windows 10.0 Build 19044; UI render: default; VCL: win Locale: en-US (hu_HU); UI: en-US Calc: threaded This was never good, tested in 7.0, 6.0, 5.0, 4.0 and 3.5.
Created attachment 180874 [details] The example file in Word 2016 and Writer master
confirmed in Version: 7.4.0.0.alpha1+ / LibreOffice Community Build ID: fc2716740bd513154ae4ab5404d9c575678172e0 CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: gtk3 Locale: nl-NL (en_US.UTF-8); UI: nl-NL Calc: threaded
Fixing this is a bit dangerous because there are some fundamental differences between LO IF fields and MS Word. Specifically, Word allows nested if statements in the true/false results. Additionally, in MS Word the field content can be manually edited and need to be manually refreshed for the condition to re-apply. So the field might contain contents that neither match the true or false result-strings. LO has no such ability - which is generally a good thing.
Created attachment 188420 [details] The example file in current master and Word 2016 Looks much better but not perfect in: Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 2c524ab87e336418c3ee7370f76284a53dff1c82 CPU threads: 16; OS: Linux 5.4; UI render: default; VCL: gtk3 Locale: hu-HU (hu_HU.UTF-8); UI: en-US Calc: threaded after the fix of bug 156030 The condition is not the expected 1 = 1 but: 1 FORMULA 1