|
|
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmenзакладка - не юзабельно т.к. неудобно переключаться постоянно... лучше если позволяет место отрисовать таблицу значений рядом с ТЧ док-та и при активизации строки перезаполнять эту таблицу (я надеюсь данных расчета не сильно много а то будет сильно грузить систему и в этом случае луше вариант с закладкой тогда не сильно будет этого видно из-за необходиомсти переключения между закладками) К сожалению место не позволяет, т.к. расчет пени - это не единственное предназначение документа. И потом, не так важен расчет, как сама СуммаПени. Ее я собираюсь вывести в основной таблице. А если уж надо будет посмотреть внутренность этой суммы, то только тогда будет нажиматься вкладка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:19 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
vitkhv, Спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:21 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
авторА как может вторая табличная часть документа отличаться по периодам от самого документа? а что ей мешает ? документы по которым эта пеня считается имеют я насколько понимаю разные даты... да и вообще если хотим организовать аналог регистра сведений то бех отказа жесткого совпадения периодов никуда а по-поводу разнесения по таблицам так спор о падении скорости я думаю не уместен... другое дело дело насколько это критично... думаю не сильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:33 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmen[quot автор]А как может вторая табличная часть документа отличаться по периодам от самого документа? а что ей мешает ? документы по которым эта пеня считается имеют я насколько понимаю разные даты... да и вообще если хотим организовать аналог регистра сведений то бех отказа жесткого совпадения периодов никуда И что? Напоминаю у меня по подобной схеме работал механизм хранения цен с их периодами. Last1Cmen а по-поводу разнесения по таблицам так спор о падении скорости я думаю не уместен... другое дело дело насколько это критично... думаю не сильно Наверное спор и не уместен - только скорость записи в справочник медленней особо не будет - т.к. документ надо в 3 таблицы записать!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:38 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
автортолько скорость записи в справочник медленней особо не будет - т.к. документ надо в 3 таблицы записать!!!! фух... прежде чем писать в справочник его надо удалить (соотв. элементы) или модифицировать (процедура поиска тоже тормозом будет)... с ТЧ достаточно перезаполнить но я не это имел ввиду когда говорил про таблицы а про то что далее в запросах вместо того чтобы вытянуть всё из одной (в итоге трех если про прямой скл) таблиц нам ещё надо будет джойнить для вытягивания доп. параметров (как-то дата, подотчетник и т.д.) что в конечном итоге приведёт к тому же самому что и при запросах к документам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:51 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmen, Ну так что по вашем делает 1С когда любой объект перезаписывает? Она его удаляет! 1С слова Update вообще не знает. Еще раз юзаем профайлер хоть вы и говорите, что у вас на него алергия! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:54 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
авторЕще раз юзаем профайлер хоть вы и говорите, что у вас на него алергия! так и есть попробуйте "перезалить" ТЧ с проведением документа и "удалить\записать" соответствующее количество элементов справочника без прямого обращения к БД... только средствами 1це ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 12:57 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmen но я не это имел ввиду когда говорил про таблицы а про то что далее в запросах вместо того чтобы вытянуть всё из одной (в итоге трех если про прямой скл) таблиц нам ещё надо будет джойнить для вытягивания доп. параметров (как-то дата, подотчетник и т.д.) что в конечном итоге приведёт к тому же самому что и при запросах к документам А как вы думаете в восьмерке вторую табличную часть джоинить не надо? Или в данном справочнике нет связи с документом - есть ДокументОснование с индексом по полю. А вашем примере с документом - джоинить меньше надо? Да больше надо джоинить будет. И хранить тоже самое в еще большем количестве таблиц, чем если это будет один справочник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:00 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1CmenавторЕще раз юзаем профайлер хоть вы и говорите, что у вас на него алергия! так и есть попробуйте "перезалить" ТЧ с проведением документа и "удалить\записать" соответствующее количество элементов справочника без прямого обращения к БД... только средствами 1це Зачем пробывать я сотни раз пробывал - не делает 1С UPDATE, а делает сначала DELETE, а потом INSERT. Так, что вот этот ваш тезис Last1Cmen фух... прежде чем писать в справочник его надо удалить (соотв. элементы) или модифицировать (процедура поиска тоже тормозом будет)... с ТЧ достаточно перезаполнить о точ, что ТЧ достаточно перезаполнить неверен в корне т.к. сначала надо перезаполнить, а потом перезаписать документ. А в момент перезаписи 1С вам и сделает сначала DELETE, а потом INSERT. Поэтому если в табличной части документа к которому хотим пределать вторую табличную часть в виде справочника, будет более 500 строк - для справочника в котором храним вторую таб. часть, что запись, что удаление будут практически моментальными. Проверьте и убедитесь сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:07 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
да тоже самое будет т.к. без выноса в отдельные реквизиты справочника каждого из доп. элементов (а в особенности если обращаться к дате документа и через неё уже к таблицам документа основания) будет нечто аналогичное по количеству объединений и те же самые обращения к таблице журнала док-тов и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:09 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
авторПроверьте и убедитесь сами. проверял в том то и дело (без прямого обращения) и перепроведение периода с механизмом справочников занимало куда больше времени речь идет не о оптимизированном движке под прямую работу а стандартных методах которые почему-то при работе со справочниками довольно таки медленные или вы предлагаете HSV освоить быстренько sql ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:13 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmen или модифицировать (процедура поиска тоже тормозом будет)... Обратите внимание, что реквизиты справочника индесированные - поэтому поиск с использованием ВыбратьЭлементыПоРеквизиту() будет не медленней, чем НайтиПоКоду. И я вас уверяю прямые запросы не обгоняют - ВыбратьЭлементыПоРеквизиту(). Попробуйте сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:15 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
авторИ я вас уверяю прямые запросы не обгоняют - ВыбратьЭлементыПоРеквизиту() мы по-моему о разных вещах говорим потому и непонятки... я не про поиск или организацию самой выборки чего моифицировать надо а про процедуры самой модификации и про построение отчетов того что намодифицировали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:18 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmenда тоже самое будет т.к. без выноса в отдельные реквизиты справочника каждого из доп. элементов (а в особенности если обращаться к дате документа и через неё уже к таблицам документа основания) будет нечто аналогичное по количеству объединений и те же самые обращения к таблице журнала док-тов и т.д. Ну и зачем тогда муйдохаться с документами - если и не быстрее и не удобней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:18 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
авторНу и зачем тогда муйдохаться с документами - если и не быстрее и не удобней? в разных случаях по разному... в этом случае имхо схемы равнозначны будут в работе но со справочниками будет немного попроще из-за простой структуры хранения данных (а не из-за сложности документальной схемы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:25 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1CmenавторИ я вас уверяю прямые запросы не обгоняют - ВыбратьЭлементыПоРеквизиту() мы по-моему о разных вещах говорим потому и непонятки... я не про поиск или организацию самой выборки чего моифицировать надо а про процедуры самой модификации и про построение отчетов того что намодифицировали Опять же а как по вашему 8.1 хранит данные табличных частях? Да и таже 7.7 хранит данные табличной части документа одного вида в одной таблице и индекс там по IDDOC. И проблем у меня с джоинами никогда не было, джоин с подзапросом TOP1 с сортировкой по полю с датой. Ну если и говорим про штатные средства - а что 1С вам документ соединять в Запросе 1С будет быстрее чем справочник? Это с чего бы это? Справочник хранится в таких же таблицах, как и Табличная часть документа, для табличной части документа используется индекс IDDOC+LINE_NO_, для справочника буде индекс по ДокументуОснованию т.е. фактически по IDDOC. И где же здесь для документа быстрее? За счет чего? При этом для табличной части документа доп. индексов иметь нельзя в отличии от справочника. Попробуйте проиндексируйте тоже поле ОтчетКоммисионера - не получиться. А для справочника можно. Уже только поэтому можно строить более быстрые выборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:32 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
vitkhv, вы предложили использовать для отбора данные из документа родителя (дата, подотчетник) а это те же обращения к таблицам шапок и ТЧ документа + к таблице журнала документа (вернее в обратном порядке) что аналогично тому если бы мы сразу работали с ними без справочника вот и всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:39 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
vitkhv, И еще вопрос. Что Вы имели в виду, говоря, что на реквизит ДокументОснование надо навесить индекс. Насколько я знаю средства 1С не позволяют создавать индексы по реквизитам. Значит ли это, что если поставить в реквизите Сортировку, то это приведет к созданию индекса, а соответственно и увеличению скорости выборках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:53 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
vitkhv, Хотя если реквизит имеет ссылку на документ, то Сортировка отсутствует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:56 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmenvitkhv, вы предложили использовать для отбора данные из документа родителя (дата, подотчетник) а это те же обращения к таблицам шапок и ТЧ документа + к таблице журнала документа (вернее в обратном порядке) что аналогично тому если бы мы сразу работали с ними без справочника вот и всё Хорошо вопрос к вам как будет быстрее? По методу со справочником запрос будет выглядеть так: SELECT ДокОснование.SP31,СправочникТабличнаяЧастьПени.SP67 AS ДокументПени FROM DT45 ДокОснование LEFT JOIN SC22 СправочникТабличнаяЧастьПени ON СправочникТабличнаяЧастьПени.SP345 = ДокОснование.IDDOC AND ДокОснование.SP67 = СправочникТабличнаяЧастьПени.SP12 По методу с документом запрос будет выглядеть так: SELECT ДокОснование.SP31,аблЧастьДокТабличнаяЧастьПени.SP53 AS ДокументПени FROM DT45 ДокОснование LEFT JOIN DH55 ДокТабличнаяЧастьПени ON ДокТабличнаяЧастьПени.SP15 = ДокументОснование.IDDOC LEFT JOIN DT55 ТаблЧастьДокТабличнаяЧастьПени ON ДокТабличнаяЧастьПени.IDDOC = ДокТабличнаяЧастьПени.IDDOC = ТаблЧастьДокТабличнаяЧастьПени.IDDOC AND ДокОснование.SP67 = ТаблЧастьДокТабличнаяЧастьПени.SP53 И 1С штатными средствами надо точно такие же соединения сделать. А теперь скажите при какой организации второй табличной части будет быстрее при том, что поле ТаблЧастьДокТабличнаяЧастьПени.SP53 не индексированно и штатно без отключения верификации ты его не проиндексируеш? И скажите где соединений меньше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 13:59 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
vitkhv, ага - сферический конь у тя получился :) добавь выборку по подотчетнику за период (сумму пени за отчетный период в любом случае надо будет выдавать "на гора") и попробуй обойтись без таблицы журнала док-тов и таблицы шапок документов данного вида которые уже будешь по джойнить с справочниками ;) я те грю что выродиться в одно и то же... а если без прямого скл то удаление/создание элементов справочника при перепроведении док-та будет медленнее чем перезаполнение и перезапись подчинённого док-та (это уже из практики) - почему ? объяснить не могу... я к сожалению не владею языком на котором пислась сама платформа чтобы это объяснить но результаты нагрузочных тестирований показывали что метод с док-том работает быстрее на большом количестве строк (элементов)... если их там с десяток то без разницы действительно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 14:11 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
HSVvitkhv, Хотя если реквизит имеет ссылку на документ, то Сортировка отсутствует Отбор там надо ставить, какая может быть сортировка для ID документа? Документ в терминах 1С сортируется по дате, в поле нет даты поэтому нет и сортировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 14:24 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
vitkhvSELECT ДокОснование.SP31,аблЧастьДокТабличнаяЧастьПени.SP53 AS ДокументПени FROM DT45 ДокОснование LEFT JOIN DH55 ДокТабличнаяЧастьПени ON ДокТабличнаяЧастьПени.SP15 = ДокументОснование.IDDOC LEFT JOIN DT55 ТаблЧастьДокТабличнаяЧастьПени ON ДокТабличнаяЧастьПени.IDDOC = ДокТабличнаяЧастьПени.IDDOC = ТаблЧастьДокТабличнаяЧастьПени.IDDOC AND ДокОснование.SP67 = ТаблЧастьДокТабличнаяЧастьПени.SP53Штатно 1С так не умеет. :) Штатно оно сначала делает цикл по ВыбратьПодчиненныеДокументы(), потом только считывает шапку по НайтиДокумент(), и уже после - табличную часть :) Вторая табличная часть на справочнике будет тормозить только на "штатных средствах", и только если эта табличная часть большая, ибо нельзя штатно удалить несколько элементов, а автоматическое удаление движений в этом случае не работает. И я не уверен, что такая выборка возможна штатно, через, например, штатный СоздатьОбъект("Запрос"). Реквизиты справочника хотя бы позволяют построить "произвольные" индексы, в отличии от реквизитов документов, что ускорит выборку "нештатными" средствами. Хотя... Если работать нештатно - я предпочитаю делать дополнительные табличные части через внешние таблицы, с 1С связанные через FK с cascade update\delete. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 14:27 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Last1Cmenvitkhv, ага - сферический конь у тя получился :) добавь выборку по подотчетнику за период (сумму пени за отчетный период в любом случае надо будет выдавать "на гора") и попробуй обойтись без таблицы журнала док-тов и таблицы шапок документов данного вида которые уже будешь по джойнить с справочниками ;) Медленней со справочниками точно не будет, даже если прийдется дополнительно лезть в другую таблицу для получения даты документа, ведь при использовании вашего метода прийдется всегда лезть в шапку документа, чтоб узнать Док. основание. Ведь в методе со справочником всех остальных выборок где без развертки по периодам можно обойтись без лазиния в какие либо другие таблицы. Можете еще в справочник реквизит датаДок вставить тогда вообще никуда лазить помимо справочника не прийдется. При этом в справочнике можно проиндексировать ЛЮБОЕ поле, попробуйте это сделать для Таблицы документа....... Вот вам и сферичиский конь в пальто ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 14:49 |
|
||
|
1С 7.7 - Таблица документа
|
|||
|---|---|---|---|
|
#18+
Егоров Александр Реквизиты справочника хотя бы позволяют построить "произвольные" индексы, в отличии от реквизитов документов, что ускорит выборку "нештатными" средствами. Почему не штатными. Еще раз повторюсь - метод справочника ВыбратьЭлементыПоРеквизиту() работает очень быстро... прямыми запросами мне его обогнать не удалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2009, 14:52 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36325831&tid=1523027]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 516ms |

| 0 / 0 |
