Не обновляются ссылки на другие таблицы

Автор sergant, 25 февраля 2016, 09:30

0 Пользователи и 1 гость просматривают эту тему.

sergant

не обновляются ссылки на другие файлы (таблицы calc). Т.е. они обновляются, только если например эту ссылку скопировать в буфер и тут же вставить в это же место. А по команде ПРАВКА-СВЯЗИ-ОБНОВИТЬ ничего не меняется.
Исходное желание такое - в файле-источнике изменилось содержание какой-то ячейки. В файле-приемнике есть ссылка на эту ячейку. При открытии файла-приемника идет запрос на обновление, я подтверждаю и ожидаю, что все обновления произойдут. Но не происходит. И вручную тоже не происходит. Только заново копирование ссылки помогает, но это жопа, т.к. ссылок много (весь файл), в каком файле-источнике произошли изменения, неизвестно, ссылки разбросаны по всей таблице...

Версия: 4.4.7.2 ID сборки: 4.4.7.2-1.mga5 Локаль: ru_RU.UTF-8

kompilainenn

Цитата: sergant от 25 февраля 2016, 07:30А по команде ПРАВКА-СВЯЗИ-ОБНОВИТЬ ничего не меняется.
так у Вас же не СВЯЗЬ вставлена, а ССЫЛКА. А ссылка будет обновлена при следующем открытии файла =(
Попробуйте меню Файл-Перезагрузить! Однако сначала все файлы с данными должны быть СОХРАНЕНЫ!
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

sergant

ну конечно же я пробовал и перезагружать файл с обновлением ссылок, и все исходные файлы перед этим сохранил...  Причем однозначно не могу утверждать, что такого не было раньше, но все-таки уже давно с такими ссылками работаю, а такой глюк заметил только сегодня.

rami

Это во всех документах или в одном? Создайте два новых документа со связями, если проблема сохранится, упакуйте в архив и выложите здесь. Посмотрим. Какая ОСЬ? Форматы обоих документов?

sergant

с простыми файлами тестовыми все вроде бы нормально - сразу же даже без перезагрузки файла-приемника по команде ПРАВКА-СВЯЗИ-ОБНОВИТЬ все обновляется...

raven1973

Присоединяюсь к теме, а почему Правка-Связи-Обновлять автоматически -- не активна? ЕЕ можно как-то активировать. Тема актуальна. Получается слишком много лишних движений, если в конечном документе надо получить необходимый результат подбирая (изменяя данные) в исходной таблице.Изменить данные в первом, открыть второй-обновить, не попал в нужную цифру-опять первый документ, изменить, второй-обновить и т.д.

economist

Ну, в "защиту" данного глюка в OpenOffice и LibreOffice скажу что не все связи обновляются
даже в великом и ужасном Microsoft Excel, если использовать популярные функции =суммесли(), =двссыл().

А вот формулы массива, =суммпроизв(), =впр() - все-таки считывают актуальные значения из файла источника.
Но если есть каскадные ссылки между всеми 2-мя (3-мя итп) файлами - такая ссылка обработана не будет.
Так что открывайте файлы-источники, или храните все в одном файле, или во внешних TXT, благо
производительность и мощность компьютеров это позволяют.

Также есть глюк с обновлением связей с внешними источниками данных. Старые данные перемешиваются с новыми, если строк стало меньше. То есть это "Неочистка импортированных внешних данных из СУБД, неважно каких (по Ctrl+F4, а в старом стиле - просто F4) - флаг "Не сохранять данные" есть - но он не работает.
Приходится при закрытии документа запускать макрос. 


Sub ClearOnCloseDoc()
Doc = ThisComponent
Sheet = Doc.Sheets.getByIndex(0) 
CellRng = Sheet.getCellrangeByName("Импорт1")
CellRng.clearContents(23)  ' 23-это значить все очистить
End sub
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

economist

#7
Походу что-то намутили с парсером формул - пропадают символы ; ] } итп.

Вставка СВЯЗИ через Ctrl+С, ПКМ, перейти в другой файл, Связь - работает и не разрушается со временем.

Вставка ССЫЛКИ путем перехода в другое окно - не работает, разрушается парсером (LO 5204).

Открытие ССЫЛКИ, созданной строкой выше - не работает, не разрушается парсером (ОО 412).

Вставка ССЫЛКИ путем перехода в другое окно - работает (начинается с =DDE(), не разрушается парсером, но повторно не обновляется (ОО 412) ни автоматически, ни вручную, до перезапуска OpenOffice и LibreOffice. А после перзапуска - обновляется везде.

Ну что-ж братцы. это плохо. Механизм связей и ссылок можно признать нерабочим. Если нужда использовать МНОГО данных из другого файла и хоть как-то этим управлять - именуйте диапазон латиницей, создавайте Базу данных (ODB), законнектитесь к Таблице ODS. А потом таскайте по F4/Ctrl+F4 весь диапазон/таблицы в свой файл ODS, у которого есть только одна проблема - с нестираемыми старыми данными (но это лечится, см. пост №6). А уже на этот диапазон ссылайтесь локальными формулами.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

raven1973

Если делать все в одном документе, то перерасчет значений происходит, но опять же приходиться переключаться между листами. Если открыть одну книгу в двух окнах (расположить рядом) то перерасчета опять нет. В excele такого нет, как не крути, но в нем просче

economist

Если открыть одну книгу в двух окнах (расположить рядом) то автоперерасчет ЕСТЬ (OpenOffice 421 и LibreOffice 5204). Проверьте действие F9.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

raven1973

Подскажите тогда, как открыть одну книгу в разных окнах. Я сохранял книгу под именем 1 с открытым первым листом (где вносятся значения)  и 2 со вторым листом, там где ссылки. Если так открывать перерасчета не происходит.

economist

Все обновляется в одной книге (см. вложение).
Открыть новое окно: Окно - Новое окно
Возможно вы вставили не формулу, ссылающуюся на другой лист, а ссылку или связь.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

raven1973


vygov

Подтверждаю. Версия LOffice Calc 5.2.2.2. Документ ранее создан в MOffice 2007 с ссылками на внешние файлы с таблицами. Причем, при загрузке таблицы, выдает окошко с сообщением - обновить ли ссылки. При подтвеждении ничего не происходит, далее кнопка "Связи" затемнена. Кстати, FOffice этот момент отрабатывает нормально.

kompilainenn

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут