К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

1С 77 ТИС "Вторая" табличная часть документа. Внешний файл или реквизит - строка неограниченнйой длины

0 - 02.12.2012 - 19:24
1С 7.7 ТИС на терминальном сервере + УРБД Примерно 30 ползователей

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

Вот думаю, что лучше:
1. создать реквизит в 11 видах документа - строку неограниченной длины или
2. просто создавать внешний файлик для каждого документа и считывать из него ТЗ при проведении или
3. Создавтаь непроводящийся подчиненный документ с этой табличной частью - но туту очень много всяческих проблем начинает вожникать (в т.ч. с пометкой на удаление, распроведением, изменением и т.д.).
ЕЩЕ СУШЕСТВЕННЫЙ МОМЕНТ. МНЕ НУЖНЫ ТОЛЬКО ДВИЖЕНИЯ РЕГИСТРА ,А САМИ "ВТОРЫЕ" ТАБЛИЧНЫЕ ЧАСТИ МНЕ НУЖНО ХРАНИТЬ НО МАКСИМУМ МЕСЯЦ.
ЧТО ПОСОВЕТУЕТЕ???



1 - 02.12.2012 - 20:47
http://pl1c.org/load/1-1-0-24
Гость
2 - 02.12.2012 - 21:06
Считай емкость таблицы для строк неограниченной длины 1SBLOB): минимальный размер блока (оно же кратность) 80 байт. Как всякая строчная переменная не любит наличие служебных символов. Ссылочная целостность - ручками.
Внешний файлик: скока их будет, прикинул? Скорость считывания невысокая (для интерактивного режима, может пойдет, но при массовом перепроведении будет тот еще тормоз. И работа с внешним файлом будет монопольной. С этим надо считаться. Искать просто: по ИД дока.
3 - 02.12.2012 - 22:00
Я когда-то на 77 делал документ с двумя табличными частями (даже кусок конфы выкладывал на проклабе). Ничего особо заморочного с пометками удаления т.п. Всей работы на час с прерывами на кофий.
4 - 02.12.2012 - 22:08
P.S. Использовал именно второй подчиненный документ.
Гость
5 - 03.12.2012 - 01:36
Что значит хранить месяц? Это срок жизни базы?
Правильно народ советует: храни данные в подчиненном документе (непроводном), а проводи в родительском. Лучше документа для хранения таблицы ничего нет. Если уж сильно против - храни в справочнике. Но ни как ни в строках неограниченной длины, это неудачное решение, а уж во внешних файлах - жесть.
6 - 03.12.2012 - 06:33
самое смешное - автор уже вылезал с подобными воплями
где-то год назад вроде
7 - 03.12.2012 - 08:28
6 - Ирли Бёрд. Извини, но воплей не было. Механизм работает с 2003 года как часы, но вот часы "песочные", а мне теперь надо чтобы как "электронные". Просто видение всей системы стало малость другим вот и думаю как переделать чтоб самому понравилось.

3 - bma1. Механизм такой:
Чем не устраивает подчиненный документ:
Хотя бы тем, что я его табличную часть ввожу до созранения родительского документа. И основания у меня еще нет - уже это неудобно. Процедура ПриЗаписи выполняется до записи документа.

(5) - USSR Да все просто. Мне нужны движения регистров (если что я из них могу восстановить вторую тч). А сохранение второй ТЧ по-сути практически мне и не нужно. Нужна в-основном только до проведения документа (дальше все можно получить из ВыбратьДВижения(Документ).). ПОэтому и ломаю голову как лучше
8 - 03.12.2012 - 08:37
2 - VZ Делал раньше вторую ТЧ через строку неограниченной длины. Работает с 2006 года. Но документы в которых это есть - вводятся только двумя пользователями, а теперешняя сиситема - 30 пользователей. Еще раз говорю - в-принципе - вторая ТЧ мне по-сути нужна пока документ не проведен. А потом уже движения можно брать из регистра. Но не будет ли сетевых коллизий при многопользовательском чтении движений регистра по различным документам
9 - 03.12.2012 - 08:40
2- VZ Реквизит или внешний файлик удобен тем что он не требует записи документа-основания. табличная часть которая в него записывается простенькая - Товар,Метраж,Родительская бухта (если отрез). Кол-во бухт. количество строк в такой ТЧ максимум 250 - больше и не бывает.
Гость
10 - 03.12.2012 - 09:18
подумать и впехать в один документ вера не позволяет
тогда с Верой развод - жениться на Машке
11 - 03.12.2012 - 09:31
10- Helen1986 Позволяет, но у меня почти все документы проводят этот регистр - вот и пытаюсь получить на форуме обоснованный и рассчитанный ответ. Просто опасаюсь за ошибки блокировок если таскать непроводящийся и по-сути не особенно нужный документ - реквизитом-то проще и с сылочной целостностью кстати - тоже особенных проблем я не вижу
Гость
12 - 03.12.2012 - 09:41
7-Путевый лист > Что мешает работать с ТЗ? Если есть подчиненный док - скачивай ТЗ из него, нет подчиненного дока (при создании нового, например) - генерируй структуру ТЗ без записей (тоже самое придется делать в случае длинной строки, или внешнего файла), ПриЗаписи() одновременно обновляй/создавай подчиненный док.
13 - 03.12.2012 - 10:20
12 - VZ ПриЗаписи родительский документ еще не записан и поэтому подчиненный ему еще создать нельзя.
14 - 03.12.2012 - 10:25
13-Путевый лист >Юра, ты (1) смотрел?
15 - 03.12.2012 - 10:28
14 - Андрей. Скачал. Там длл-ки не сильно загрузят мне систему и потом это же терминал - оффис там конечно стоит - но вообще-то лучше бы без него!!!
16 - 03.12.2012 - 10:30
15-Путевый лист >длл-ки там стандартные 1срр и формекс, а сам офис нахрен не нужен, там только один АктивХ из него нужен, если офис стоит, то тогда вообще не забивай этим голову.
17 - 03.12.2012 - 10:30
14 - Андрей. а 1cqlite там зачем??? Остальные длл-ки у меян же задействованы и так
18 - 03.12.2012 - 10:32
К тому же этот АктивХ нужен только для панели инструментов для доп.табчасти, если панель не нужна, то офис не нужен. Там в комментах всё написано.
19 - 03.12.2012 - 10:32
17-Путевый лист >1cqlite не нужна. Видать просто под руку попалась :)
20 - 03.12.2012 - 10:34
19 - Андрей Доп.часть - я редактирую только обработкой. А как насчет того что эта зараза ббудет мигрировать УРБД???
21 - 03.12.2012 - 10:35
20-Путевый лист >Да никаких проблем, настрой правила миграции для справочника в котором хранится доп.тч. и всё.
22 - 03.12.2012 - 10:40
21 Billi - есть нюанс - мне видеть вторую табличную часть надо только в обработке - ТЗ на форме. Я там ее и редактирую. И я в транзакциях не утону если все будет и читаться и писаться в один справочник???
23 - 03.12.2012 - 10:45
22-Путевый лист >А на кой тебе эта обработка?
Помести доп.тч на другую закладку.
Ну или перенеси функционал по работе с доп.тч в свою обработку.
А насчет транзакций: таблица, в которой хранится родная тч документа ничем не отличается от таблицы справочника, так что всё практически штатно.
ВК нужны только для интерактива.
24 - 03.12.2012 - 10:53
23- Billi Ну ты же знаешь, что у меня вторая ТЧ - это по-сути таблица значений, которая автоматом меняется если например я изменил количество в основной ТЧ или добавил туда стркоу с кабельным товаром или убрал оттуда строку с кабельным товаром. У меня в этой обработке отрезы, видны остатки по метражам для данного товара и пр
25 - 03.12.2012 - 11:01
24-Путевый лист >Ну так в примере из (1) тоже самое.
доп.тч подчинена основной. Добавляй нужные реквизиты в доп.тч, они автоматом подхватятся.
И вообще в (1) пример реализации.
Затачивай как тебе нужо.
26 - 03.12.2012 - 11:10
25 - Billi Да можно все это приспособить наверное. Боюсь что размер этого справочника может со временем стать ну очень большим
27 - 03.12.2012 - 11:15
26-Путевый лист >Когда вырастит - обрежешь, тебе же не нужны данные старше одного месяца.
Гость
28 - 03.12.2012 - 11:27
13-Путевый лист > Можно. Вовсе не обязательно ссылку связи размещать в подчиненном документе: можно и в родительском. В конце-то концов, эта связь нужна именно родительскому документу, а не подчиненному.
29 - 03.12.2012 - 11:28
27 - Billi Суровый ты человек. Чуть выросло - и уже обрезание делать надо :)))
Гость
30 - 03.12.2012 - 11:38
Цитата:
Сообщение от Путевый лист Посмотреть сообщение
12 - VZ ПриЗаписи родительский документ еще не записан и поэтому подчиненный ему еще создать нельзя.
Процедура ПриЗаписи(ФлагТолькоПроверить=0)
Если ФлагТолькоПроверить=0 Тогда
ПриЗаписи(1); Если СтатусВозврата()<>0 Тогда
Записать(); // и засунуть ТекущийДокумент() куда надо
КонецЕсли;
КонецЕсли;
...
31 - 03.12.2012 - 11:48
30 - Cthulhu Спасибо. Просто в предопределенной процедуре призаписи - нет параметров по крайней мере нигде я никогда не видел чтобы ПриЗаписи(Параметр) было. Видимо я подходил без креатива!!!
Гость
32 - 03.12.2012 - 12:00
(31) при чтении синтаксис-урода надо 3 раза протирать очки. Коньяком
33 - 03.12.2012 - 12:15
я - за вторую таб.часть.
34 - 03.12.2012 - 12:30
33 - Чучундер - Ты голосуешь за Билли???
Гость
35 - 03.12.2012 - 14:19
(31): таким образом можно любую предопределенную до-делать, добавляя параметр(-ы) со значениями по умолчанию - используя которые вызывать их программно с модификацией поведения. тут ещё такой момент, не совсем, кхм, очевидный: СтатусВозврата() в исполнительной системе есть всегда(!), и при начале выполнения любого кода он равен 1 (а в конце выполнения блока кода - может быть и другим, измененным программно) - что можно использовать для своих целей, даже если он никак не влияет на поведение движка
Гость
36 - 03.12.2012 - 15:05
32-Helen1986 > В СП (а альтернативного родному, не путать с прочими als-ами) процедура ПриЗаписи() описана без параметров. Так же, как и родной документации. Так что не надо упрекать Путевой лист, что он не пьет коньяк на работе :)
То, о чем говорит Ктулху - недокументированная фича.
Гость
37 - 03.12.2012 - 15:07
+36 Поправка: ...а альтернативного родному, не путать с прочими als-ами, не встречал...
38 - 03.12.2012 - 16:54
36 - VZ Ну вот смотри ситуацию:
1. создал документ, при записи создал подчиненный документ
2. оказалось что все такие товары из документа удалили, значит надо удалять и подчиненный документ, он не имеет смысла, и ссылку на него. ВОТ И ВСЯКИЕ ЛИШНИЕ МАНИПУЛЯЦИИ С ЖУРНАЛОМ. А вот если ТЧ хранится независимо от базы или просто в базе как строковый реквизит документа - таблица значений - но этих проблем как бы и нет. ВСЕ В РАМКАХ ОДНОГО ДОКУМЕНТА
Гость
39 - 03.12.2012 - 17:30
38-Путевый лист > ПриУдаленииДокумента() не?


К списку вопросов






Copyright ©, Все права защищены