#0
by Ly_Alena
Доброе утро! Такая задача - документ ТаблицаЦенообразования. В нем 5 вкладок с 5 табличными частями. ЗаказПокупателя заполняется на основании ТЦ. Как сделать так чтобы переносить в ЗаказПокупателя ту табличную часть, которая текущая. ТО есть если открыта вкладка 2 и пользователь нажимает заполнить на основании, то именно табличная часть с этой вкладки переносилась в ЗаказПокупателя. Если ТипЗнч(Основание) = Тип("ДокументСсылка.АльтернативнаяТаблицаЦенообразования") Тогда
#0
by Ly_Alena
Доброе утро! Такая задача - документ ТаблицаЦенообразования. В нем 5 вкладок с 5 табличными частями. ЗаказПокупателя заполняется на основании ТЦ. Как сделать так чтобы переносить в ЗаказПокупателя ту табличную часть, которая текущая. ТО есть если открыта вкладка 2 и пользователь нажимает заполнить на основании, то именно табличная часть с этой вкладки переносилась в ЗаказПокупателя. Если ТипЗнч(Основание) = Тип("ДокументСсылка.АльтернативнаяТаблицаЦенообразования") Тогда
#1
by Любопытная
Передавать имя табличной части, по которой надо заполнять документ, дополнительным параметром
#2
by reggyman
ЭтаФорма.ЭлементыФормы.Панель.ТекущаяСтраница перед тем как передать в заполнение надо из формы получить ту страницу которая открыта, и ее параметром передавать. Или через переменную, которую видно и в модуле объекта и в модуле формы
#3
by Ly_Alena
Я это понимаю. Только непонятно где мне ее получить, не могу отловить в каком месте вызывается.
#4
by reggyman
ДанныеЗаполнения.ПолучитьФорму. Не уверен что состояние текущей панели вернет, попробуйте достучаться, иначе тогда через переменную.
#6
by reggyman
При переключении страниц панели в форме основания присваивайте ей текущую страницу панели. И в модуле в обработке заполнения оперируйте с ней.
#10
by Любопытная
Что вызывается? Вам в обработчике кнопки надо описать создание и заполнение документа. У процедуры ОбработкаЗаполнения параметр ДанныеЗаполнения может иметь любой тип. Передавайте туда не ссылку, а структуру из ссылки и имени тч, по которой надо заполнить. И не надо будет никаких форм вызывать
#15
by Ly_Alena
ТО есть когда я в ТЦ ее нажимаю в заказе идет в обработку заполнения и далее заполнение на основании, а в ТЦ не пойму где написать
#16
by Любопытная
Ну, мое решение не подходит для этого кода. И что? Еще раз говорю - в процедура-обработчике нажатия на кнопку укажите имя ТЧ, по которой будет заполняться. А потом переписывайте свою ОбработкаЗаполнения в заказе под структуру данных заполнения
#18
by Любопытная
в таком варианте - делайте как говорит - придумайте переменную поглобальней или реквизит документа, в который будете записывать нужную ТЧ
#21
by reggyman
ни в коем случчае не реквизит, вам тогда надо будет записывать документ чтобы обратиться к нему.
#29
by Ly_Alena
Блин, и зависла что называется... вернулись снова к тому же вопросу - в отправителе это где, в каком месте? То есть я могу записать документ, а потом между вкладками еще щелкать выбирать, когда выбрала какой вариант переносить нажимаю стандартную кнопку "ввести на основании" и где мне запомнить текущую вкладку. то есть я понимаю что надо написать Если ЭлементыФормы.АльтернативныеТЦ.ТекущаяСтраница = ЭлементыФормы.АльтернативныеТЦ.Страницы.Альтернатива4 Тогда ТекТабЧасть=ЭлементыФормы.Товары4; Но где это написать???
#32
by ASV
сначала завести глобальную переменную В "модуле обычного приложения Перем глТекТабЧасть Экспорт; или в параметрыСеанса
#36
by ASV
конечно другое решение сделать свое меню ввода на основании со своей процедурой обработки
#37
by Ly_Alena
В модуле формы документа ТаблицаЦенообразования так написала //Хранит текущую табличную часть Перем ТекТабЧасть Экспорт; ... В модуле объекта Документа ЗаказПокупателя в обработке заполнения, ее дополнительным параметром писать?
#39
by Любопытная
В обработку заполнения у вас передается ссылка. Как вы из ссылки собираетесь свою переменную получать?
#40
by reggyman
Проще надо. Просто текущую страницу присваивайте, зачем эта раскадровка панели полная?
#42
by Ly_Alena
А как теперь в Процедуре ЗаполнитьПоДокументуОснования эту переменную раскидать? (Я просто никогда этого не делала)
#44
by ASV
в ГлТекТабЧасть сохранять номер или имя ТЧ, а не ТекущиеДанные. потом Если ИначеЕсли определять нужную ТЧ
#46
by Ly_Alena
В процедуре ЗаполнитьПоДокументуОснования Товары = глТекТабЧасть; Для Каждого ТекСтрокаТовары Из Товары Цикл На такое выдает ошибку что переменная не определена
#47
by reggyman
У вас два подхода сейчас как бы. Один общий такой, вы смотрите снаружи на конфу и задачу и определяете контекст обработки и что передаете. А второй это когда вы уже внутри процедур пишете код. Вы их не путайте, эти два подхода, определились с общим и ныряете во внутренний а не наоборот. У вас сейчас в каком подходе трабл? Во внешнем или внутреннем? В переменную сохраняйте и ссылку и текущую ТЧ для дальнейшей обработки если вам это нужно. Гуру проснутся еще про мутабельность расскажут вам.) ЗаполнитьПоДокументуОснования - эта где процедура? В отладчике посмотрите какое значение в глТекТабЧасть.
#48
by Ly_Alena
ГлТекТабЧасть - табличная часть в отладчике. Процедура ЗаполнитьПоДокументуОснования в модуле объекта Документа ЗаказПокупателя
#49
by reggyman
Похоже что у вас док который заполняете (если эта процедура там) не видит переменную. Или в ней неопределено.
#55
by reggyman
Тогда передаете Значение в переменную. То что внутри табличного поля. ТекТабЧасть=ЭлементыФормы.Товары.Значение
#58
by reggyman
ИначеЕсли ЭлементыФормы.АльтернативныеТЦ.ТекущаяСтраница = ЭлементыФормы.АльтернативныеТЦ.Страницы.Альтернатива4 Тогда точнее вот так.)
#60
by reggyman
У вас ругается потому что ТабличноеПоле в переменной. Выборку из чего делать? Поэтому так. ВашеТабличноеПоле.Значение - вот что вам надо чтобы перебрать строки.
#61
by Ly_Alena
так в отладчике понимает какая табличная часть, но все равно ошибку в том же месте выдает что переменная не определена {Документ.ЗаказПокупателя.МодульОбъекта(2221,12)}: Переменная не определена (ГлТекТабЧасть) Товары = <<?>>ГлТекТабЧасть; (Проверка: Толстый клиент (обычное приложение))
#63
by Ly_Alena
я ее определяю в модуле формы Документа Табличная часть обращаюсь к ней из процедуры в модуле объекта ЗаказПокупателя Что не так?
#65
by Любопытная
Не там определяете. Вы ушли в заполнение объекта, у вас нет вашей формы, а значит нет и переменной.
#69
by reggyman
"Открыть модуль обычного приложения" в дереве метаданных на названии конфы правой кнопкой
#71
by Ly_Alena
Теперь так в том же месте {Документ.ЗаказПокупателя.МодульОбъекта(2230)}: Итератор для значения не определен Для Каждого ТекСтрокаТовары Из Т1 Цикл
#78
by Любопытная
Судя по последней ошибке, вы не знаете, что у вас в переменную передалось. Дело не в ее глобальности, а в том, что вы туда положили.
#79
by Ly_Alena
Можно ли просто написать: ... Или нужно чему-то ее присвоить или проверить что-то надо
#85
by ОбычныйЧеловек
Я так понимаю ты принципиально пропускаешь часть комментов да? Не знает - в этом весь смысл.
#86
by Ly_Alena
Посмотреть судьба - и я выше писала что туда передается ДокументТабличнаяЧасть.АльтернативнаяТаблицаЦенообразования.Товары1
#88
by Любопытная
Отладчиком учитесь пользоваться ужо. "ДокументТабличнаяЧасть.АльтернативнаяТаблицаЦенообразования.Товары1" и "Спасибо с Основание[ГлТекТабЧасть] сработало!" нифига не стыкуются
#89
by reggyman
Сегодня пятница, все уже с утра хотят отдыха и юмора сегодня. На понедельник нельзя отложить все это дело? Два контекста у вас есть, подумайте об этом хорошо за выходные. Вы погружены не просто в болото, в трясину, в черную дыру сейчас. Начните спокойно рассуждать сначала, даже откройте новую конфу и с нуля начните. Все время себя спрашивайте - это откуда? для чего это? что дальше? - на каждом шаге. Не пишите хаотично код, вам это не поможет решить задачу. У вас есть наставник какой-то в деле изучения 1с?
#90
by Ly_Alena
А можно еще вопрос. В командной панели в свойствах есть источник данных, в котором указвается только одна табличная часть. как сделать чтобы в зависмости от тек вкладки и источник действий был для этой тек таб части что-то типа ЭлементыФормы.КоманднаяПанель1.ИсточникДействий=Товары3; не работает
#91
by Любопытная
Ха-ха. Сначала нахлобучили барышню глобальным контекстом, модулем приложения и прочей лабудой, а потом предложили подумать. Молодцы :)
#93
by reggyman
Вообще на мисту надо ходить с ?? когда уже всё перебрал и испробовал, перерыл и перекопал сверху донизу. Есть нормальные форумы казахстанские, там народ попроще..)))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
В этой группе 1С
- Отчет на СКД с группировкой по периодам и значениями предыдущего периода.
- Не сохраняются настройки печати
- "Дублирование атрибута" при сравнить, объединить с конфой из файла. Как быть?
- Колонка ИНН в форме списка партнеров УТ11
- Удалить строки не соответствующие отбору.
- Как отключить автоматическое использование кнопки создания при вводе??
- Посоветуйте систему управления проектами.
- как передать данные между разными наборами записи регистра в рамках транзакции?
- Очистка таблицы SQL
- Обмен КА->УТ: не грузится оприходование
- v7: Реквизит документа типа "Справочник"
- СКД, условное оформление для макета
- Загрузка Кладра оффлайн в Бухгалтерию 3.0
- ПоказатьВопрос() не работает
- Ошибка 8.3 УТ11.1 последняя платформа установлена
- УТ 10.3 не совпадает сумма документа с суммой в списке
- Поле объекта недоступно для чтения
- 1С 8.2 Ошибка выполнения отчета на СКД без пояснений 1С Предприятия
- WA: Финансист. Управление денежными средствами 8. Отзывы, мнения
- ПоказатьВопрос при заполнении табличной части документа (внешней обработкой)