![]() |
Модераторы: stron |
![]() ![]() ![]() |
|
Strucka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
У меня такая вот проблемка.
Мне нужно пройтись по документами и записать инфу в ТЗ. Я написал такую процедурку
по идее я вызываю её после того, как оперделяю , что я получил нужный документ. Так как метод выгрузить в ТЗ её перезаписывает. Так вот я вызываю этот метод следующим образом. Я где то в модуле определяю Тз.новаястрока(1); тмп=Тз.количествоСтрок(); а потом процедурой этой мне по идее переменная тмп накапливается. У мня вроде бы получилось и обработа работает, если не заданы доп. условия. А вот если заданы , то начинаются проблемы. Проблемы скорее всего в условии или в процедурке этой? |
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 15 Всего: 24 |
Ты считаешь форумчан телепатами, неговоря о том какие проблемы у тебя начались? 1. Напиши поподробнее информацию о самой поставленой задачи; 2. Опиши конкретную проблему, которая у тебя возникает; 3. Приведи кусок кода, который ты сделал, и в нём возникает та самая проблема. |
|||
|
||||
Strucka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
Будет ли та процедура ,которую я описал выше работать правильно , если я буду вызывать её для тех документов, которые удовлетворяют условию?
Условие значение не имеет. Важно , что я отбираю документ по какому-нибудь признаку, например по времени создания и заношу информацию табличной части в ТЗ. |
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 15 Всего: 24 |
Условия бывают разный, и во многих случаях они значения имеют. В данном случае нужно смотреть, на то каким образом будешь производить этот самый отбор документов. А вобще, я бы твоё процедурку немного бы переделал так:
Вроде так должно работать будет... ![]() Навскидку больше телепатическими способностями сказаь неполучиться. Если какие-то проблемы будут взникать, тогда пиши и поподробнее описывай проблему Добавлено через 5 минут и 43 секунды Ещё, как ты вызываешь данную процедуру. Меня интересует как ты указываешь параметры при её вызове? PS: я думаю тебе нужно процедуру, чтобы небыло входного параметра "НомерПозиции", он у тебя менятся при выполнении процедуры, и при выходе из процедуры уничтожаеться деструктором. А при вызове процедуры для переноса строк уже из второго документа, могут возникнуть глюки, если третий параметр будет не так указан. Который вообще и ненужен. Привижи лучше позицыю таблицы к количеству строк в таблице, по идеи это количество должно совпадать с этим самым номером позиции. ![]() Добавлено через 14 минут и 2 секунды СТОП!!! ![]() А есть же у документа метод: ВыгрузитьТабличнуюЧасть(<ТаблЗнач>,<Колонки>), и в свою очередь у таблицы значений есть метод Выгрузить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>), который можно использовать для заполнения главной твоей таблицы из временной, куда данные поступают из документа. |
|||
|
||||
Strucka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
именно для этого я и сделал так , чтобы процедура изменяла это значение. Дело в том , что мне нужно проверить множество условий (если конечный юзверь их указывает) и каждый раз когда я должен буду записать данные из документа я должен знать количество строк, которое уже есть в ТЗ (поэтому я решил не вызывать каждый раз номерпоз=Тз.количествострок(); перед вызовом процедуры, а инициализировать этот параметр(номерпозиции) перед циклом (отбор документов по дате), а далее изменять его в зависимости от того ,сколько данных записываем)
и с помощью процедуры дописывать её. Все условия, которые я проверяю являются атрибутами шапки документа (т.е сравниваю атрибуты шапки с данными выбранными юзверем). Так что с этой стороны проблема может быть только в том, что я напортачил с описанием этих условий в самом 1с. Пока вариант условий которые надо проверить выглядит так(в моем исполнении 8))
Думаю теперь понятно почему я не стал писать весь текст с самого начала 8)))) Я думаю там можно кусок проверок убрать. Буду завтра на работе этим заниматься. Это сообщение отредактировал(а) Strucka - 26.8.2007, 21:58 |
|||
|
||||
Strucka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
А есть же у документа метод: ВыгрузитьТабличнуюЧасть(<ТаблЗнач>,<Колонки>), и в свою очередь у таблицы значений есть метод Выгрузить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>), который можно использовать для заполнения главной твоей таблицы из временной, куда данные поступают из документа.
Попробую завтра заменить процедурку на это, в принципе должно работать. |
|||
|
||||
Strucka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
короче решил все, все условия выполняются верно. Сделал отчет , но делал его ручками, т.е вообще без секций. Все приняли, но сказали на ка тебе для общего развития задачку переделать отчет следующим образом.
1) чтобы все было с секциями Сделал А потом дали задание посложнее: Сделать отчет разбитым на отдельные части. Т.е элементы которые я вывожу в справочнике являются элементами различных групп. И мне нужно вывести теперь все элементы разбив их по группам. Я приступил к выполнению и наткнулся на загвоздку еще до начала переделки таблицы отчета. Значит так воть: есть список значений, в котором находятся группы , которые есть в справочнике (именно объект хранится в списке). Как организовать проверку из многострочной части документа (в ней хранится элемент типа справночник), такую , чтобы была проверена принадлежность элемента мнгстр. части документа к группе, записанной в спискезн. и возвратить позицию совпавшей группы из списка? Так я хочу сделать чтобы заполнить колонку, которую я завел в тз. В колонке должно находится название Группы для текущего элемента. Это сообщение отредактировал(а) Strucka - 28.8.2007, 17:39 |
|||
|
||||
Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 15 Всего: 24 |
1 топик = 1 вопрос
![]() |
|||
|
||||
Strucka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
дык это к этой задаче относится просто 8) Да и сделал уже 8) Правда я так и не понял почему при помещении в список значений элемент отказывался сравниватьс потом. Но я сделал забив в список наименования групп, так все вышло 8)
Это сообщение отредактировал(а) Strucka - 29.8.2007, 16:45 |
|||
|
||||
danich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.8.2007 Репутация: 1 Всего: 1 |
Процедура ЗаполнитьТЗ(ТЗ,знач док)
Если ПустоеЗначение(док)=1 тогда Врзврат; КонецЕсли; Дк = СоздатьОбъект("Документ.Перемещение"); Дк.НайтиДокумент(Док); дк.ВыбратьСтроки(); Пока дк.получитьстроку()>0 Цикл тз.Новаястрока(); НомерПозиции=тз.КоличествоСтрок(); тз.УстановитьЗначение(НомерПозиции, 1, дк.товар.наименование); тз.УстановитьЗначение(НомерПозиции, 2, дк.Количество); тз.УстановитьЗначение(НомерПозиции, 4, дк.Цена); тз.УстановитьЗначение(НомерПозиции, 3, дк.Сумма); тз.УстановитьЗначение(НомерПозиции, 5, дк.Единица.наименование); КонецЦикла; КонецПроцедуры убрать лишние переменные, которве неизвестно где переопределяются |
|||
|
||||
![]() ![]() ![]() |
Правила форума "1C: Предприятие, SAP, ERP и учётные системы" | |
|
Запрещается! 1. Обсуждение крэков, кейгенов и других подобных программ Пробуйте искать сами или обращайтесь в приват к участникам форума. Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения. Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...) 2. Давать ссылки на взломанные продукты
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |