Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вторая табличная часть документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
DAS_Alex
Добрый день. У документа две табличные части: первая(Закладка 1) - родная табл. часть документа, вторая(Закладка 2) - разработанная табл. часть.
Данные второй табл. части хранятся в реквизитах тип строка, размер 500.
Запись и извлечение данных в реквизиты происходит с помощью методов ЗначениеВСтрокуВнутр(); ЗначениеИзСтрокиВнутр();

Таких док-ов в базе более 10 000 и такое кол-во необходимо, уменьшить не возможно, даты док-ов с 2004 года.
Отчет формируется перебором док-ов и строк, и извлечения данных из реквизитов след. образом.

список1=создатьобъект("СписокЗначений"); 
список1=ЗначениеИзСтрокиВнутр(мск.данные_о_сотрудниках);    
для а=1 по список1.РазмерСписка() цикл
    сотр=список1.ПолучитьЗначение(а);      
конеццыкла;


Формирование отчета происходит очень долго.

Я делал так, что для каждой строки табл. части вызывался новый док. Таких доков за месяц на создавали 12 000. По времени тоже долго формируется отчет.

Подскажите, пожалуйста, какие решения такой задачи могут быть, может есть другое решение Закладки 2?
Ardi
А. Регистры.
Б. Бух регистры.
DAS_Alex
Тут важна каждая запись, регистры ж ориентированы на получение остатков, итогов. Перебирать движения, Я думаю, то же самое, что перебирать строки документа.
Vofka
Цитата
Б. Бух регистры.

В 77 smile.gif

Цитата
регистры ж ориентированы на получение остатков, итогов

И оборотов. По ходу вы обороты и высчитываете каждый раз.

Цитата
Перебирать движения, Я думаю, то же самое, что перебирать строки документа.

Ну а почему по вашему вообще тогда регистры придумали? Для прикола? smile.gif

Я присоединяюсь к Ardi. Нужно думать в сторону регистров.
Batchir
Или попробовать хранить все записи в одной табличной части. При открытии документа выгружать необходимые записи во вторую закладку перед закрытием загружать обратно.
DAS_Alex
Цитата(Batchir @ 02.03.11, 9:46) необходимо зарегистрироваться для просмотра ссылки
Или попробовать хранить все записи в одной табличной части. При открытии документа выгружать необходимые записи во вторую закладку перед закрытием загружать обратно.


Во второй табл. части может быть несколько строк - этот вариант отпадает.
Batchir
Цитата(DAS_Alex @ 02.03.11, 10:11) необходимо зарегистрироваться для просмотра ссылки
Во второй табл. части может быть несколько строк - этот вариант отпадает.

И что мешает их хранить в главной ТЧ?
Ardi
Цитата(DAS_Alex @ 01.03.11, 21:23) необходимо зарегистрироваться для просмотра ссылки
Тут важна каждая запись, регистры ж ориентированы на получение остатков, итогов. Перебирать движения, Я думаю, то же самое, что перебирать строки документа.

А итоги - это плюсовые обороты минус минусовые обороты за ВЕСЬ ПЕРИОД.
DAS_Alex
Цитата(Batchir @ 02.03.11, 10:13) необходимо зарегистрироваться для просмотра ссылки
И что мешает их хранить в главной ТЧ?


Количество документов 10 000, разные периоды этих док-ов и строки - перебирать - времени занимает много.

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

Вспомогательный документ я уже создавал их получилось около 12 000 за месяц со строками получится где-то 20 000 записей и все нужно отобразить в отчете.

Вопрос: регистр оборотов это выход в данной ситуации или перебор док-ов не будет отличатся по времени формирования отчета?
Fynjy
Цитата(DAS_Alex @ 02.03.11, 10:34) необходимо зарегистрироваться для просмотра ссылки
Количество документов 10 000, разные периоды этих док-ов и строки - перебирать - времени занимает много.

Есть такое понятие запрос ...
Цитата(DAS_Alex @ 02.03.11, 10:34) необходимо зарегистрироваться для просмотра ссылки
Я думаю, что выход таков: убираю вторую табл. часть, для каждой строки создаю вспомогательный документ(в нем смогу вводить строк сколько нужно)
и использую регистр оборотов.
Вспомогательный документ я уже создавал их получилось около 12 000 за месяц со строками получится где-то 20 000 записей и все нужно отобразить в отчете.
Вопрос: регистр оборотов это выход в данной ситуации или перебор док-ов не будет отличатся по времени формирования отчета?

Перебор не ваш метод ...Опять же лучше запрос ...
ЗЫ: описали бы задачу, может вторая ТЧ вам и не нужна ...
ЗЫЫ: ЗначениеИзСтрокиВнутр за это оторвать разрабу ... ...
DAS_Alex
Цитата(Fynjy @ 02.03.11, 21:41) необходимо зарегистрироваться для просмотра ссылки
Есть такое понятие запрос ...

Перебор не ваш метод ...Опять же лучше запрос ...
ЗЫ: описали бы задачу, может вторая ТЧ вам и не нужна ...
ЗЫЫ: ЗначениеИзСтрокиВнутр за это оторвать разрабу ... ...


Я за. Все мы когда нибудь ошибаемся.

Цитата(Fynjy @ 02.03.11, 21:41) необходимо зарегистрироваться для просмотра ссылки
Есть такое понятие запрос ...

Перебор не ваш метод ...Опять же лучше запрос ...
ЗЫ: описали бы задачу, может вторая ТЧ вам и не нужна ...


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

Смысл отчета - выбираю всех рабочих и с помощью данных из справочников вывожу в отчет то, что необходимо пользователю.
Fynjy
Таки это 2 разных документа ... Один из которых наряд на работы ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.