powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / 1С 7.7 - Таблица документа
25 сообщений из 97, страница 1 из 4
1С 7.7 - Таблица документа
    #36325188
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
Добрый день!
Снова прошу помощи. Вернее идеи, как лучше организовать.
Есть документ "ОплатаОтчетовКомиссионера". В табличной части находятся отчеты комиссионера, которые оплачиваются. Так вот, в этом документе происходит еще расчет пени. Одна из колонок документа имеет кнопку выбора, при нажатии на которую происходит расчет пени. Расчет пени надо показать на закладке "Пени" этого же документа. Т.е. получается, что на каждую строку табличной части документа приходится еще таблица с расчетом пени. Через какой объект это лучше организовать. Хотела использовать метод ЗначениеВСтрокуВнутр(), но табличная часть документа не может иметь неограниченную длину.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325200
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSV, лучше чем через связанный справочник или подчинённый документ (без движенй - только табличная часть и печ. форма если необходимо) я вам ничего посоветовать не могу... ну нет механизма множественных табличных частей в 7ке
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325222
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗначениеВСтрокуВнутр() с сохранением значений "СохранитьЗначение()" (между сенасами) используйте для хранения временных значений и никогда для критичных и тем более постоянных
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325238
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
Last1Cmen,
Спасибо! У меня были такие мысли, просто не очень улыбается плодить документы, т.к. получается на каждую строку создание отдельного документа, но видимо друго выбора нет. Не совсем нравится вариант со справочником, скорее буду работать с подчиненным документом.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325267
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSV,
Зачем тебе документ подчиненный документ? Будет он у тебя в итоге болтаться в общем журнале документов, оно тебе надо?
Лучше делай через справочник - с привязкой по ключу к строке табличной части документа.
Вообще в принципе справочник в 7.7 можно использовать как таблицу которую можно использовать как тебе угодно - я допустим использовал справочник подобно регистру сведений в восьмерке, хранил в нем цены с их историей, без использования периодических реквизитов.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325309
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
vitkhv,
А можно чуть подробнее? Т.е. Вы предлагаете использовать идентификатор табличной части документа, как ключ в справочнике? А если мы удаляем пени? Или пересчитываем их? Надо будет выбирать в справочнике все строки с этим ключом, удалять их и заново вводить? Может я что то не так понимаю?
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325314
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
со справочником сложнее работать (и в плане контроля уникальностей и модификации да и запросами его обрабатывать непросто), единственное где я применял именно справочник так это для привязок по текущим остаткам предопределённых объектов учета на документ (как пример сам документ - "сменный отчет" заправки а инфа в справочнике - остатки по пластиковым талонам) - там можно было т.к. никаких расчетных частей нет - только инфа по остаткам

а у вас расчет таки будет... кстати а почему по каждой строке хотите по документу плодить ? связать по номеру строки (или объекту учета - док-ту взаиморасчетов) чтобы в подчинённом док-те использовать все объекты никак ?
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325324
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНадо будет выбирать в справочнике все строки с этим ключом, удалять их и заново вводить?

да... это и есть сложности таких методов... модификация панимаишь (в зависимости от необходимости или просто удалять и перезаполнять или модифицировать существующие)
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325345
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
Last1Cmen,
Если делать все одним документом, тогда на закладке "Пеня" придется делать выбор табличной части документа РасчетПени только для спозиционированного объекта и считать для него итоги.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325360
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSV, да... можно нарисовать таблицу в которой выводить построчно эти пени по каждой из строк в ТЧ док-та (а сами данные хранить в док-те)

нет вы не поймите меня неправильно я не наставиваю именно на варианте с док-том... справочники тоже имеют право рассматриваться как вариант решения... можете и так попробовать и так... как удобнее будет так и пробуйте
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325361
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmen,
В чем сложность запросов к справочникам vs документы? Тоже самое.
В плане контроля уникальностей и модификации тут вообще проблем нет.

Только доп. плюс у тебя по сути служебная таблица с пеней не будет болтаться в общем журнале документов.

Справочник ТабличнаяЧастьДокументаОснованиеПени:
Реквизит - ДокументОснование - ссылка на документ в которому нужна вторая таб часть.
Реквизит - ОтчетКоммисионера с индексом - ссылка на документ отчет коммисионера.

Выборка из справочника:

Функция НайтиПени(ВыбОтчетКоммисионера,ВыбДокВладелецТаблЧасти)
СпрПени = СоздатьОбъект("Справочник.ТабличнаяЧастьДокументаОснованиеПени");
СпрПени.ВыбратьЭлементыПоРеквизиту("ОтчетКоммисионера",ВыбОтчетКоммисионера);
Пока СпрПени.ПолучитьЭлемент()=1 Цикл
Если ВыбДокВладелецТаблЧасти = СпрПени.ДокументОснование Тогда
<необходимые действия>
КонецЕсли;
КонецЦикла;

Причем я в подобный справочник записывал и удалял из него в процедурах ОбработкаПроведения() и ОбработкаУдаленияПроведения()
Работало все без проблем и очень быстро. Причем прямые запросы данные выборки практически не ускоряли.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325378
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv, я не против абсолютно и сейчас не готов вам ответить аргументированно почему мне решения со справочниками на тот момент не подходили

пс.. вспомнил одно... для модификации удобно было использовать выгрузить/загрузить табличные части напрямую в подчинённые документы... и работало быстрее понятное дело

может погодя ещё что-то вспомню (дааавно было уже это уж простите)
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325381
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
Last1Cmen,
Но ведь тогда получается тоже самое, что и со справочником. Т.е. при пересчете пени, надо будет удалять из документа все строки редактируемого объекта и вводить новые.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325396
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSV,
Да еще для справочника - дли кода и длина наименования сделать нулевыми.
Навесить индекс на реквизит ДокументОснование справочника ТабличнаяЧастьДокументаОснованиеПени.

Тогда удаление из справочника при распроведении будет выглядеть примерно так:

Функция УдалитьПени(ВыбДокВладелецТаблЧасти);

СпрПени = СоздатьОбъект("Справочник.ТабличнаяЧастьДокументаОснованиеПени");
СпрПени.ВыбратьЭлементыПоРеквизиту("ДокументОснование",ВыбДокВладелецТаблЧасти);
Пока СпрПени.ПолучитьЭлемент()=1 Цикл

<необходимые действия>

КонецЦикла;
КонецФункции

КонецФункции;
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325398
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ чем сложность запросов к справочникам vs документы?

у док-тов больше методов и возможностей отбора (журналы и графы например или выборки по перодам)

ещё раз повторю я не настаиваю на документах... автор сам должен принять решение на основании того где и как должны отображаться в дальнейшём эти данные в учете... как просматриваться и чем редактироваться и т.д.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325401
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSVLast1Cmen,
Но ведь тогда получается тоже самое, что и со справочником. Т.е. при пересчете пени, надо будет удалять из документа все строки редактируемого объекта и вводить новые.

Да вы правы и обработчики получаться сложнее чем со справочником.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325408
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТ.е. при пересчете пени, надо будет удалять из документа все строки редактируемого объекта и вводить новые.

загрузитьтабличнуючасть() отработает гораздо быстрее физического удаления элементов справочника

авторДа еще для справочника - дли кода и длина наименования сделать нулевыми.
Навесить индекс на реквизит ДокументОснование справочника ТабличнаяЧастьДокументаОснованиеПени.

ещё можно иерархию использовать - группа - содержит ссылку на документ - записи - элементы аналог ТЧ входящие в группу... проще будет потом искать баги и отлаживать
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325421
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
Last1Cmen, vitkhv,
Большое спасибо за помощь! Направление уже понятно. Да по сути и алгоритм Вы мне уже написали :) Спасибо!
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325422
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1CmenавторВ чем сложность запросов к справочникам vs документы?

у док-тов больше методов и возможностей отбора (журналы и графы например или выборки по перодам)

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

Журналы и графы например или выборки по перодам спокойно получаются по документу владьльцу второй табличной части - через реквизит справочника ДокументОснование. Причем везде и всюду.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325433
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv, да... если по периодам совпадают ;) иначе городить огород с доп. реквизитами типа дата в справочнике

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

давайте предоставим автору самому выбрать подходящее решение... варианты с плюсами и минусами уже перечислены больше некуда :)
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325438
HSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HSV
Гость
vitkhvЖурналы и графы например или выборки по перодам спокойно получаются по документу владьльцу второй табличной части - через реквизит справочника ДокументОснование. Причем везде и всюду.
vitkhv,

Мне не нужно будет делать выборки по расчету пени. Это чисто информативная часть, чтобы было видно откуда взялась сумма, и при желании подредактировать расчет.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325446
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1CmenавторТ.е. при пересчете пени, надо будет удалять из документа все строки редактируемого объекта и вводить новые.

загрузитьтабличнуючасть() отработает гораздо быстрее физического удаления элементов справочника

Причем здесь ЗагрузитьТабличную часть и физическое удаление элементов - не вижу связи.

ЗагрузитьТабличнуюЧасть можно расматривать только в контексте с записью элементов в справочник. Но тогда надо расматривать ЗагрузитьТабличнуюЧасть + время записи самого документа. И не намного это будет быстрее. А в итоге гемора меньше с обработчиками. + Сам документ не будет болтаться в общем журнале, а я думаю, что это жирный +.

Автор,
Еще забыл в самый главный реквизит в этом справочнике - Пеня: ТипЗначения Число :)

Еще метод хранения данных в таблицах БД со справочником будет по сути (за некоторым исключением) повторять то как 1С хранит данные в таблицах БД для своих табличных частей, для документов одного вида.
Ну и удачи.
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325466
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhv, да для текущей задачи наверное достаточно справочника


авторРасчет пени надо показать на закладке "Пени" этого же документа

закладка - не юзабельно т.к. неудобно переключаться постоянно... лучше если позволяет место отрисовать таблицу значений рядом с ТЧ док-та и при активизации строки перезаполнять эту таблицу (я надеюсь данных расчета не сильно много а то будет сильно грузить систему и в этом случае луше вариант с закладкой тогда не сильно будет этого видно из-за необходиомсти переключения между закладками)
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325467
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSVvitkhvЖурналы и графы например или выборки по перодам спокойно получаются по документу владьльцу второй табличной части - через реквизит справочника ДокументОснование. Причем везде и всюду.
vitkhv,

Мне не нужно будет делать выборки по расчету пени. Это чисто информативная часть, чтобы было видно откуда взялась сумма, и при желании подредактировать расчет.

Ну если выборки не нужны - тогда тем проще все будет.
Функции по Удалению элементов я вам описал - ее надо использовать при перепроведении и отмене проведения документа.

Запись в этот справочник еще проще -
Функция СоздатьПени(ВыбОтчетКоммисионера,ВыбДокВладелецТаблЧасти,Пеня)
СпрПени = СоздатьОбъект("Справочник.ТабличнаяЧастьДокументаОснованиеПени");
СпрПени.Новый();
СпрПени.ДокументОснование = ВыбДокВладелецТаблЧасти;
СпрПени.ОтчетКоммисионера = ВыбОтчетКоммисионера;
СпрПени.Пеня = Пеня;
СпрПени.Записать();
Возврат СпрПени.ТекущийЭлемент();
КонецФункции
...
Рейтинг: 0 / 0
1С 7.7 - Таблица документа
    #36325478
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmenvitkhv, да... если по периодам совпадают ;) иначе городить огород с доп. реквизитами типа дата в справочнике

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

Last1Cmen
да и постоянно джойнить несколько таблиц вместо выборки по одной сами знаете чем грозит и в плане скорости и в плане поддержки


И чем же таким грозят джоины, если структура таблиц и индексов у вас грамотно простроеннна?
...
Рейтинг: 0 / 0
25 сообщений из 97, страница 1 из 4
Форумы / [игнор отключен] [закрыт для гостей] / 1С 7.7 - Таблица документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]