Что происходит при выгрузке. Тематическая ветка

  1. 9 г. назад

    пример: обновил БП на очередной релиз. Хочу посмотреть, какие объекты добавлены в новом релизе.
    Для этого сравниваю с конфой предыдущего релиза. И здесь возникает следующая неопределенность:

    В старом релизе был справочник "Номенклатура".
    в новом релизе справочник "Номенклатура" переименован в "УдалитьНоменклатура" и добавлен справочник "Номенклатура".
    Функционал сравнения/объединения при обычном сравнении сравнивает объекты МД по наименованиям (да, точно)

    Что же нам покажет сравнение/объединение? А оно сопоставит справочники "Номенклатура" в сравниваемых конфах как одинаковые, а справочник "УдалитьНоменклатура" покажет как присутствующий только в основной конфигурации. Как будто бы он добавлен в новой конфигурации, а это не так.

    И как в таком случае посмотреть добавленные объекты?

    Ответы: (129)
  2. а ты не выбирай сравнить из файла...выбирай сравнить конфигурации и там выбери файл и сними галку сопостовлять по имени...

    Ответы: (2) (3)
  3. (1) интересно, не знал

  4. (1) это ты с восьмеркой попутал

    Ответы: (4)
  5. (3) дык а у него что???

    Ответы: (5)
  6. (4) если речь про МД, то семерка.

    Ответы: (6) (7)
  7. (5) МД - метаданные

  8. (5) но раздел то указан...)

  9. автора угадал

  10. пелядь. так сокр.толь.муд-ки

    Ответы: (11)
  11. тогда еще вопрос: зачем они так делают?
    был справочник ВидыТарифовСтраховыхВзносов. в новом релизе его переименовали в УдалитьВидыТарифовСтраховыхВзносов и добавили новый ВидыТарифовСтраховыхВзносов

    если хотят его удалить в дальнейшем - зачем добавлять такой же, с таким же именем?

    Ответы: (12)
  12. (9) кр - с т-та

  13. (10)

    Stim в новом релизе его переименовали

    Наверное, чтобы не потерять ссылочную целостность

    Ответы: (13)
  14. (12) это как так, интересно? от переименования справочника элементы справочника никуда не пропадут, ссылки везде останутся

    Ответы: (14) (15)
  15. (13) вот именно. а взамен него будет новый справочник, а ссылки на него будут в новых реквизитах

    Ответы: (16)
  16. (13) Методически это наверное выглядит так -
    Переименовывается
    Создается
    Копируется
    ......
    Удаляется
    Профит!

    Ответы: (16)
  17. (14)(15) это все очень круто, но - зачем?
    какой смысл создавать точно такой же справочник, переносить в него данные с удаляемого точно такого же?
    работа ради работы?

    Ответы: (17)
  18. Stim какой смысл создавать точно такой же справочник

    а кто сказал, что он точно такой же ?

    Ответы: (18)
  19. (17) да какая разница
    любые изменения можно и в существующий внести. не вижу причин создавать такой же спрвочник вместо уже существующего

    Ответы: (20) (22)
  20. зы. но я за ним теперь буду следить, буду докладывать что с ним делают в релизах

    Ответы: (21)
  21. Stim любые изменения можно и в существующий внести.

    это уже другой вопрос

  22. (19) держи нас в курсе

  23. (18) Без потери данных не любые. Метаданные изменяются таким образом, что если изменить в существующем, то будет потеря данных, если создать в новом и раскидать их при первом запуске обработкой при обновлении куда-нибудь, то сохранятся. Вот и весь смысл.

    Ответы: (23)
  24. (22) всегда можно спроектировать изменение так, чтобы данные не терялись, другое дело - насколько это получится красиво или методически верно

    Ответы: (24) (29)
  25. (23) Что-то там на внутренние ИД объектов, наверное, завязано, которые по основанию 36. Чтобы подчиненные не терялись

    Ответы: (25)
  26. (24) да причем тут иды-то. Ну был к примеру строковый реквизит, а решили сделать чтоб он был ссылкой на справочник. То что раньше было в строке, должно попасть в этот справочник в качестве наименования. Если просто тип поменять - данные будут уничтожены. А если создать новый объект и перегрузить туда со старого нехитрой обработкой, то нет. Не ищите глубокого смысла, его там нет )

    Ответы: (26)
  27. (25) тогда достаточно стары реквизит переименовать с добавлением "Удалить" и ввести новый с новым типом...и его уже заполнить...а не весь справочник...

    Ответы: (27)
  28. (26) достаточно вообще новый реквизит именовать по-другому, а старый не трогать

    Ответы: (28)
  29. (27) а если на реквизит ссылок куча и в коде обращение???

    Ответы: (29)
  30. (28) мы обсуждаем вопрос, что в принципе, это возможно. (23)

  31. все эти объяснения притянуты за уши, господа. Любую задачу можно реализовать гораздо более удобным способом, нежели создавать дубликат справочника

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

    Ответы: (32) (34) (39)
  33. (31)+ Возможен еще более простой вариант, когда нужно просто удалить реквизит, и данные сохранять не требуется, он больше не нужен. Но платформа не дает его удалить из-за ссылок. Опять же создаем дубль без него, да и все.

  34. Все умные такие. Что же вы ещё убийцу 1С не написали?

    Ответы: (35) (37)
  35. (31) возможно.
    но не в данном случае. в данном случае длина наименования и кода осталась прежней. набор реквизитов не изменен.
    Единственное отличие - в новом справочнике добавлен предопределенный "УчастникОсобойЗоныВКрыму"
    но зачем создавать новый справочник при добавлении предопределенного элемента?

    Ответы: (36)
  36. (33) потому и не написали ) Это ж куча человекочасов, бесплатно их работать будет либо студент, либо дурак )

  37. (34) А хз.. Типы реквизитов глянь повнимательней, может где-то изменился?

    Ответы: (38)
  38. (33) тут речь идёт скорее об убийце типовой конфиги, нежели платформы

  39. (36) реквизиты не изменились точно.
    что странно - это не один такой справочник. они такое провернули примерно с десятком похожих служебных справочников.

  40. Дядя Вася был справочник и остается справочник, только было у него наименование 150 символов, решили сделать его 50 символов, и добавить реквизит НаименованиеПолное неограниченной длины, куда перегнать обработкой из того что было, чтобы не обрезалось

    это понятно. но можно просто не менять размерность наименования, добавить спокойно реквизит, и спокойно переносить в него данные при обновлении в польз режиме

    Ответы: (40)
  41. 28.01.2015 10:49:29 отредактировано Дядя Вася

    (39) Можно, но не нужно. Смотря какие цели. С одной стороны, 150 символов стало не хватать для новых наименований, с другой, это уже и так дофига, база пухнет, а надо еще увеличивать. Строка с известной длиной всегда эту длину занимает, а неограниченной только столько сколько данных есть. С отборами по ней проблемы, так что тоже не идеальное решение. Потому используют сразу обе. Короткую строку с известной длинной, и неограниченную, где будет наименование для печатных форм.

    Ответы: (41)
  42. (40) глупость какая-то. строка с неограниченной длиной занимает место, а новый справочник места не занимает

    Ответы: (42)
  43. (41) Ну так старый-то можно удалить после обновления.

    Ответы: (43) (44) (45)
  44. (42) Хотя если возьмешься это делать, будь осторожен. Я раз попробовал так почистить - они косячат только в путь. Вылезают ссылки на объекты, которые удалить, в объектах которые удалять не надо.

  45. (42) да ну? и часто его удаляют? так и идёт в поставке конфы. а если часто удалять - то через релизы уже не попрыгаешь при обновлении

    Ответы: (46) (47)
  46. (42) удали, куле. потом словишь массу комплиментов от любителей обновлять cf-никами через 20 релизов

  47. +(44) это не говоря уже о том, что, по-сути, конфа станет отличной от конфы поставки

    Ответы: (48)
  48. (44)

    andrewks то через релизы уже не попрыгаешь при обновлении

    Это почему это?

    Ответы: (50)
  49. (46) Ну про конфы с запретом изменений явно речи и не идет.

  50. Через релизы попрыгаешь ничуть не хуже, просто заново его создаст. Но создаст-то без данных уже. И если цель уменьшить объем базы, то это вполне себе вариант. Можешь собственно метаданные и не трогать, а просто удалить содержимое справочника, помеченного как "удалить", такое и для типовой с запретом понятно прокатит.

    Ответы: (51) (56)
  51. (47) а ты подумай. если будут удалять из поставки обновлений, тогда придётся строго накатывать только один следующий релиз на другой, и никак иначе

    Ответы: (52)
  52. Дядя Вася И если цель уменьшить объем базы

    такой цели даже в принципе стоять не может

    Ответы: (54)
  53. (50) Тьфу ты. Причем тут поставка-то? Я про боевую базу. Из основной конфигурации удалишь. В поставке-то он будет.

    Ответы: (53)
  54. Дядя Вася Из основной конфигурации удалишь. В поставке-то он будет.

    тебе делать нехер, кроме как снимать после каждого обновления конфу с поддержки и удалять лишние справочники?

    Ответы: (55)
  55. (51) Еще как может. Сидят люди на файловой, на клиент-сервер денег нет, а из-за мусора разрослась до восьми гигов и приплыли. Ты еще скажи свертку базы делать цели быть не может )

    Ответы: (57) (60)
  56. (53) Зачем всю конфу-то снимать? Один объект. И только в случае, если это действительно какой-то здоровенный справочник или регистр сведений, который по объему на полбазы тянет.

  57. (49) разработчики удаляют объекты с префиксом Удалить только в самом крайнем случае. они будут их тянуть хоть 20 релизов.
    Сейчас в БП 3.0 около 50 объектов с префиксом "Удалить" и никто удалять их не собирается

    Ответы: (58) (59)
  58. (54)у разработчиков типовых цели таких целей нет. оптимизируй свои данные сам, как тебе угодно

  59. Stim они будут их тянуть хоть 20 релизов.

    и даже больше. обычно до след.редакции

  60. (56) Да не про разрабов речь-то. Ну в поставке он есть, и хрен с ним. Данных в поставке нет. Если помечен как удалить, значит можно удалить либо сам объект из основной конфигурации, либо данные из него в режиме предприятия. А от того что он есть в конфе тебе ни жарко ни холодно. Объем базы это не увеличит никак.

  61. Дядя Вася а из-за мусора разрослась до восьми гигов и приплыли.

    во-первых, ограничение идёт на объекты таблицы, а не на весь файл.
    во-вторых, ты даже не представляешь, сколько мусора остаётся в файле .1CD после штатного обновления конфы

    Ответы: (61) (62)
  62. (60)+100
    лимит где-то 4,7 Гб на одну таблицу
    файловая база может хоть 20Гб весить, если в ней равномерно загружены все таблицы

    Ответы: (63)
  63. (60) ТиИ с галкой ужать базу спасет отца русской демократии...

    Ответы: (65)
  64. Stim лимит где-то 4,7 Гб на одну таблицу

    лимит чуть меньше 4 Гб на один объект (внутренний файл) таблицы

    таблица состоит из 4-х объектов:
    1. Описание (можно пренебречь - объект обычно занимает 1-2 страницы, объём страницы 4Кб)
    2. Записи
    3. Индексы
    4. BLOB-данные

    Ответы: (64)
  65. (63) Еще сама одинесина в клиентской ее части (а в файловом варианте другой и нет) приложение исключительно 32-битное, без вариантов, так что тут могут вылезти ее собственные ограничения по разрядности. На клиент-сервер x64 переведешь - работает, а файловая с ошибками валится.

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

    Ответы: (67)
  67. (64) это никак не зависит от объёма файла .1CD

  68. (65) А вот фик. Не всегда помогает. Выгружает-то все подряд, и помеченное на удаление тоже (на уровне таблиц). В семерке это хорошо работало, в восьмерке как-то не очень.

    Ответы: (68)
  69. Дядя Вася Выгружает-то все подряд

    нет.
    если страница помечена как свободная, она не выгружается точно (если, конечно, в структуре файла нет ошибок, которые указывают вместо страниц с истинными данными на мусорные страницы)

    Ответы: (71)
  70. ладно. вобщем разобрались, что не для уменьшения размера базы разработчики делают такой маневр

    Ответы: (74)
  71. как происходит выгрузка:

    считывается рут (список всех ссылок на таблицы), считывается инфа по каждой таблице, и пихается в файл выгрузки.

    если таблица удалена (на уровне данных в .1CD) - никоим образом она в выгрузку не попадёт

  72. (68) Да я не про страницы, а про таблицы. Если из таблицы удаляется запись, как известно она не удаляется, а помечается на удаление. ТиИ с галкой такую запись реально удалит, а выгрузка нет.

    Ответы: (72) (73)
  73. Дядя Вася ТиИ с галкой такую запись реально удалит, а выгрузка нет.

    а выгрузка не выгрузит. матчасть.

  74. Дядя Вася ТиИ с галкой такую запись реально удалит, а выгрузка нет.

    ты гонишь

    Ответы: (75)
  75. (69) Кто говорил что для уменьшения? Для того чтобы структура данных была оптимальней в принципе могут делать. В процессе обновления размер понятно не уменьшится, пока данные старого объекта не удалишь, но в процессе работы распухать будет меньше.

  76. (73) Возможно, проверять надо. Но по опыту после ТиИ объем базы может уменьшится, а после выгрузки хрена с два.

    Ответы: (78)
  77. Была короче проблемка у клиента, создали документ с датой то ли на сотню лет раньше чем надо, то ли позже, не суть, в общем итоги на эти сто лет насчитались и база вдвое больше стала. Документ-то удалил понятно, итоги пересчитал. Выгрузка-загрузка объем базы не уменьшила. ТиИ да. Можешь поэкспериментировать, если не веришь.

    Ответы: (79)
  78. вышла новая сборка БП. ща гляну

  79. (75) был прикол на эту тему, но наоборот, и в 7-ке:

    ТиИ с упаковкой таблиц "забывало" выкидывать часть BLOB-данных и данных из таблицы CONST. а вот выгрузка-загрузка делала всё чётко

  80. (76) твой пример некорректен для обсуждаемого контекста

    Ответы: (80)
  81. (79) Это пример когда в таблице есть куча записей помеченных на удаление. Смысл в том что после выгрузки-загрузки они не удаляются. В чем некорректность-то?

    Ответы: (81) (83)
  82. (80) с чего ты взял, что эти записи помечены на удаление? они помечаются в процессе ТиИ

    Ответы: (82)
  83. 28.01.2015 11:34:30 отредактировано Дядя Вася

    (81) после пересчета итогов должны по идее пометиться. Если я удалил документ столетней давности хочешь сказать пересчет итогов забьет нулями итоги за сто лет, вместо того чтобы просто удалить их? Эт вряд ли...

    Ответы: (85) (93)
  84. Дядя Вася Смысл в том что после выгрузки-загрузки они не удаляются.

    смысл в том, что они не выгружаются.

    Ответы: (84)
  85. (83) Попробуй. Откуда объем тогда взялся в 8 гиг, когда должно быть 4...

    Ответы: (86) (87)
  86. Дядя Вася после пересчета итогов должны по идее пометиться

    с чего это? Пересчет итогов изменяет только внутренние таблицы итогов регистров и только

    Ответы: (88)
  87. (84)+ Клиент удаленный, интернет у него по йоте, поэтому как они "не выгрузились" я прочувствовал более чем, когда забирал ту выгрузку для анализа...

    Ответы: (89)
  88. (84) что попробовать? ты хоть рекомендации читал от 1С, почему для бекапов не стОит пользоваться "выгрузить ИБ", а следует использовать либо средства файловой системы, либо средства SQL?
    Все потому, что в выгрузку данные попадают по ссылкам и только непомеченные на удаление. При разворачивании - заново создаются таблицы и не будет дефрагментации. Так что твои утверждения помогает только ТИИ - в сад.

    Ответы: (90)
  89. (85) Ты походу вообще не догоняешь о чем взрослые дяди беседуют ) Именно эти внутренние таблицы и распухли. Удаляя лишние итоги, пересчет итогов не удаляет строки из этих таблиц, а помечает их на удаление. И выгрузка их не удаляет зараза, а выгружает в dt, а потом благополучно загружает обратно. Ну а поскольку итогов было за сто лет по каждому месяцу, из-за этого мусора и база, и файл выгрузки увеличились вдвое.

  90. (86) вангую: потому что итоги не пересчитали.

    Ответы: (91)
  91. 28.01.2015 11:43:02 отредактировано Дядя Вася

    (87) Для бэкапов ей по другой причине пользоваться не стоит. Если база битая, часто бывает так, что выгрузить получается, а вот обратно загрузить - индейская народная изба.

    Ответы: (92)
  92. (89) пересчитали.

  93. (90)+ И да, зачем тебе в бэкапах строки помеченные на удаление? Их помечают не для того чтобы потом восстановить, а для скорости. Так-то можно перезаписать например последнюю строку на место удаляемой, удалить физически последнюю, после чего привести все индексы в соответствие. Но куда быстрее просто поставить строчке признак "удалена", и ничего больше не делать. В дальнейшем никаким ТиИ, или любыми другими способами ты ее восстанавливать все равно не будешь.

    Ответы: (94)
  94. Дядя Вася после пересчета итогов должны по идее пометиться.

    это кто тебе сказал? Нуралиев?

  95. (92) итоги, индексы, "пометки на удаление", как быстрее работает 1с и для чего. че-то все намешал...

    Ответы: (95)
  96. (94) это радиоточка, которая из вроде бы понятных слов собирает совсем нелогичные предложения

  97. Андрю опять обосрался и "креативно" переименовал ветку? Счастливо оставаться господа.

    Ответы: (97)
  98. (96) сколько раз тебе ещё нужно объяснить, что ветку переименовывает её автор, а не упоротая модерасня, чтобы до тебя это дошло?

    Ответы: (98) (119)
  99. (97) да это не важно... Автор упоротый или модерастня, а общаться в таком ключе явно не буду. В другом месте клоуна найдите.

  100. Стим же просил ДВ не заходить в его ветки )

    Ответы: (101)
  101. Новее ›

или зарегистрируйтесь чтобы ответить!