1С 77 ТИС "Вторая" табличная часть документа. Внешний файл или реквизит - строка неограниченнйой длины 1С 7.7 ТИС на терминальном сервере + УРБД Примерно 30 ползователей Хочу избавить от лишнего в-принципе документа, который до этого формтировал один регистр опер.учета и сделать проведение по этому регистру в "родительских" документах: реализация, перемешение, чек ккм, поступление, оприходование, списание, комплектация, строкаавансовогоотчетазакупкатмц. Вот думаю, что лучше: 1. создать реквизит в 11 видах документа - строку неограниченной длины или 2. просто создавать внешний файлик для каждого документа и считывать из него ТЗ при проведении или 3. Создавтаь непроводящийся подчиненный документ с этой табличной частью - но туту очень много всяческих проблем начинает вожникать (в т.ч. с пометкой на удаление, распроведением, изменением и т.д.). ЕЩЕ СУШЕСТВЕННЫЙ МОМЕНТ. МНЕ НУЖНЫ ТОЛЬКО ДВИЖЕНИЯ РЕГИСТРА ,А САМИ "ВТОРЫЕ" ТАБЛИЧНЫЕ ЧАСТИ МНЕ НУЖНО ХРАНИТЬ НО МАКСИМУМ МЕСЯЦ. ЧТО ПОСОВЕТУЕТЕ??? |
[url]http://pl1c.org/load/1-1-0-24[/url] |
Считай емкость таблицы для строк неограниченной длины 1SBLOB): минимальный размер блока (оно же кратность) 80 байт. Как всякая строчная переменная не любит наличие служебных символов. Ссылочная целостность - ручками. Внешний файлик: скока их будет, прикинул? Скорость считывания невысокая (для интерактивного режима, может пойдет, но при массовом перепроведении будет тот еще тормоз. И работа с внешним файлом будет монопольной. С этим надо считаться. Искать просто: по ИД дока. |
Я когда-то на 77 делал документ с двумя табличными частями (даже кусок конфы выкладывал на проклабе). Ничего особо заморочного с пометками удаления т.п. Всей работы на час с прерывами на кофий. |
P.S. Использовал именно второй подчиненный документ. |
Что значит хранить месяц? Это срок жизни базы? Правильно народ советует: храни данные в подчиненном документе (непроводном), а проводи в родительском. Лучше документа для хранения таблицы ничего нет. Если уж сильно против - храни в справочнике. Но ни как ни в строках неограниченной длины, это неудачное решение, а уж во внешних файлах - жесть. |
самое смешное - автор уже вылезал с подобными воплями где-то год назад вроде |
6 - Ирли Бёрд. Извини, но воплей не было. Механизм работает с 2003 года как часы, но вот часы "песочные", а мне теперь надо чтобы как "электронные". Просто видение всей системы стало малость другим вот и думаю как переделать чтоб самому понравилось. 3 - bma1. Механизм такой: Чем не устраивает подчиненный документ: Хотя бы тем, что я его табличную часть ввожу до созранения родительского документа. И основания у меня еще нет - уже это неудобно. Процедура ПриЗаписи выполняется до записи документа. (5) - USSR [b]Да все просто. Мне нужны движения регистров (если что я из них могу восстановить вторую тч). А сохранение второй ТЧ по-сути практически мне и не нужно. Нужна в-основном только до проведения документа (дальше все можно получить из ВыбратьДВижения(Документ).). ПОэтому и ломаю голову как лучше[/b] |
2 - VZ Делал раньше вторую ТЧ через строку неограниченной длины. Работает с 2006 года. Но документы в которых это есть - вводятся только двумя пользователями, а теперешняя сиситема - 30 пользователей. Еще раз говорю - в-принципе - вторая ТЧ мне по-сути нужна пока документ не проведен. А потом уже движения можно брать из регистра. Но не будет ли сетевых коллизий при многопользовательском чтении движений регистра по различным документам |
2- VZ Реквизит или внешний файлик удобен тем что он не требует записи документа-основания. табличная часть которая в него записывается простенькая - Товар,Метраж,Родительская бухта (если отрез). [b]Кол-во бухт. количество строк в такой ТЧ максимум 250 - больше и не бывает. [/b] |
подумать и впехать в один документ вера не позволяет тогда с Верой развод - жениться на Машке |
10- Helen1986 Позволяет, но у меня почти все документы проводят этот регистр - вот и пытаюсь получить на форуме обоснованный и рассчитанный ответ. Просто опасаюсь за ошибки блокировок если таскать непроводящийся и по-сути не особенно нужный документ - реквизитом-то проще и с сылочной целостностью кстати - тоже особенных проблем я не вижу |
7-Путевый лист > Что мешает работать с ТЗ? Если есть подчиненный док - скачивай ТЗ из него, нет подчиненного дока (при создании нового, например) - генерируй структуру ТЗ без записей (тоже самое придется делать в случае длинной строки, или внешнего файла), ПриЗаписи() одновременно обновляй/создавай подчиненный док. |
12 - VZ ПриЗаписи родительский документ еще не записан и поэтому подчиненный ему еще создать нельзя. |
13-Путевый лист >Юра, ты (1) смотрел? |
14 - Андрей. Скачал. Там длл-ки не сильно загрузят мне систему и потом это же терминал - оффис там конечно стоит - но вообще-то лучше бы без него!!! |
15-Путевый лист >длл-ки там стандартные 1срр и формекс, а сам офис нахрен не нужен, там только один АктивХ из него нужен, если офис стоит, то тогда вообще не забивай этим голову. |
14 - Андрей. а 1cqlite там зачем??? Остальные длл-ки у меян же задействованы и так |
К тому же этот АктивХ нужен только для панели инструментов для доп.табчасти, если панель не нужна, то офис не нужен. Там в комментах всё написано. |
17-Путевый лист >1cqlite не нужна. Видать просто под руку попалась :) |
19 - Андрей Доп.часть - я редактирую только обработкой. А как насчет того что эта зараза ббудет мигрировать УРБД??? |
20-Путевый лист >Да никаких проблем, настрой правила миграции для справочника в котором хранится доп.тч. и всё. |
21 Billi - есть нюанс - мне видеть вторую табличную часть надо только в обработке - ТЗ на форме. Я там ее и редактирую. И я в транзакциях не утону если все будет и читаться и писаться в один справочник??? |
22-Путевый лист >А на кой тебе эта обработка? Помести доп.тч на другую закладку. Ну или перенеси функционал по работе с доп.тч в свою обработку. А насчет транзакций: таблица, в которой хранится родная тч документа ничем не отличается от таблицы справочника, так что всё практически штатно. ВК нужны только для интерактива. |
23- Billi Ну ты же знаешь, что у меня вторая ТЧ - это по-сути таблица значений, которая автоматом меняется если например я изменил количество в основной ТЧ или добавил туда стркоу с кабельным товаром или убрал оттуда строку с кабельным товаром. У меня в этой обработке отрезы, видны остатки по метражам для данного товара и пр |
24-Путевый лист >Ну так в примере из (1) тоже самое. доп.тч подчинена основной. Добавляй нужные реквизиты в доп.тч, они автоматом подхватятся. И вообще в (1) [b]пример[/b] реализации. Затачивай как тебе нужо. |
25 - Billi Да можно все это приспособить наверное. Боюсь что размер этого справочника может со временем стать ну очень большим |
26-Путевый лист >Когда вырастит - обрежешь, тебе же не нужны данные старше одного месяца. |
13-Путевый лист > Можно. Вовсе не обязательно ссылку связи размещать в подчиненном документе: можно и в родительском. В конце-то концов, эта связь нужна именно родительскому документу, а не подчиненному. |
27 - Billi Суровый ты человек. Чуть выросло - и уже обрезание делать надо :))) |
[quote=Путевый лист;27980041] 12 - VZ ПриЗаписи родительский документ еще не записан и поэтому подчиненный ему еще создать нельзя. [/quote] Процедура ПриЗаписи(ФлагТолькоПроверить=0) Если ФлагТолькоПроверить=0 Тогда ПриЗаписи(1); Если СтатусВозврата()<>0 Тогда Записать(); // и засунуть ТекущийДокумент() куда надо КонецЕсли; КонецЕсли; ... |
30 - Cthulhu Спасибо. Просто в предопределенной процедуре призаписи - нет параметров по крайней мере нигде я никогда не видел чтобы ПриЗаписи(Параметр) было. Видимо я подходил без креатива!!! |
(31) при чтении синтаксис-урода надо 3 раза протирать очки. Коньяком |
я - за вторую таб.часть. |
33 - Чучундер - Ты голосуешь за Билли??? |
(31): таким образом можно любую предопределенную до-делать, добавляя параметр(-ы) со значениями по умолчанию - используя которые вызывать их программно с модификацией поведения. тут ещё такой момент, не совсем, кхм, очевидный: СтатусВозврата() в исполнительной системе есть всегда(!), и при начале выполнения любого кода он равен 1 (а в конце выполнения блока кода - может быть и другим, измененным программно) - что можно использовать для своих целей, даже если он никак не влияет на поведение движка |
32-Helen1986 > В СП (а альтернативного родному, не путать с прочими als-ами) процедура ПриЗаписи() описана без параметров. Так же, как и родной документации. Так что не надо упрекать Путевой лист, что он не пьет коньяк на работе :) То, о чем говорит Ктулху - недокументированная фича. |
+36 Поправка: ...а альтернативного родному, не путать с прочими als-ами, [b]не встречал[/b]... |
36 - VZ Ну вот смотри ситуацию: 1. создал документ, при записи создал подчиненный документ 2. оказалось что все такие товары из документа удалили, значит надо удалять и подчиненный документ, он не имеет смысла, и ссылку на него. ВОТ И ВСЯКИЕ ЛИШНИЕ МАНИПУЛЯЦИИ С ЖУРНАЛОМ. А вот если ТЧ хранится независимо от базы или просто в базе как строковый реквизит документа - таблица значений - но этих проблем как бы и нет. ВСЕ В РАМКАХ ОДНОГО ДОКУМЕНТА |
38-Путевый лист > ПриУдаленииДокумента() не? |
Текущее время: 06:06. Часовой пояс GMT +3. |