Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010) Есть четыре слоя:Основной, Общий, СпецификацияКДоговору и ДополнительноеСоглашениеКДоговору. Необходимо поместить таблицы на два слоя СпецификаяКДоговору и ДополнительноеСоглашениеКДоговору. Возникла проблема, когда помещаю таблицу на слой СпецификацияКДоговору все хорошо, но как только перехожу на слой Дополнение через добавление реквизитов на форму, выбираю из списка нужный реквизит, нажимаю вставить, он вставляется в ту таблицу, которая находится на слое СпецификацияКДоговору. Но в принципе таблицы должны быть идентичные, может как-то по иному можно это сделать?
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Возможно, для просмотра у Вас открыты оба слоя, но флажок редактирования стоит напротив слоя Спецификация...
Если
Цитата
Но в принципе таблицы должны быть идентичные,
нельзя ли обойтись одной таблицей на одном из слоев или создать новый слой с общими реквизитами из этих двух
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Таблица значений. Только для сохранения ее придется преобразовывать в строку неограниченной длины. В серверном варианте(с каким-то из SQL), помнится, были траблы с этим. Изврат порядочный.
Еще можно для этого отдельный документ создать и выводить на форму уже его ТЧ.
А если порядок строк не важен - это могут быть элементы справочника, подчиненного Контрагенту... правда по Договору отбирать придется.
1 вариант: 2 таблицы значений - для каждого слоя своя, описать заполнение их отрисовку , 2 вариант попытаться обойтись только табличной частью
заполнять таблицы значений из табличной части
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0
Разбираясь с этим вариантом представления двух табличных частей, я столкнулась с проблемкой, создаю в своей базе документ, делаю все так же, но при открытии документа вылазит ошибка: ИдентификаторКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Идент ификатор; {Документ.ДоговорРасходный.Форма.Модуль(87)}: Поле агрегатного объекта не обнаружено (Идентификатор)
Процедура ЗаполнениеТаблиц(Таб,Наименование) ВидДок = ТекущийДокумент().Вид(); ПараметрыТаб = Метаданные.Документ(ВидДок).РеквизитШапки(Наименование).Комментарий; КолКолонокТаб = Число(глПолучитьЭлемент(ПараметрыТаб,1,",")); КолСтрокТаб = ПолучитьАтрибут(Наименование); Таб.НоваяКолонка("Номер","Число",3,,"№",3); Таб.Фиксировать(,1); Для К = 1 По КолКолонокТаб Цикл ИдентификаторРеквизита = глПолучитьЭлемент(ПараметрыТаб,К + 1,","); ИдентификаторКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Идентификатор; НазваниеКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Синоним; ТипКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Тип; ШиринаКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Комментарий); Если ТипКолонки = "Число" Тогда ДлинаКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Длина); ТочностьКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Точность); РазделятьТриады = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).РазделятьТриады); ФорматКолонки = "Ч"+ДлинаКолонки+"."+ТочностьКолонки+"."+?(РазделятьТриады=1,",",""); Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки,ДлинаКолонки,ТочностьКолонки,НазваниеКолонки ,ШиринаКолонки,ФорматКолонки,2); ИначеЕсли ТипКолонки = "Строка" Тогда ДлинаКолонки = Число(Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Длина); Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки,ДлинаКолонки,,НазваниеКолонки,ШиринаКолонки, ,1); ИначеЕсли (ТипКолонки = "Справочник") или (ТипКолонки = "Документ") Тогда ВидКолонки = Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти(ИдентификаторРеквизита).Вид; Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки+"."+ВидКолонки,ДлинаКолонки,,НазваниеКолонки,ШиринаКолонки,,1); Иначе Таб.НоваяКолонка(ИдентификаторКолонки,ТипКолонки,,,НазваниеКолонки,ШиринаКолонки,,1); КонецЕсли; КонецЦикла; Для Л = 1 По КолСтрокТаб Цикл Если ПолучитьСтрокуПоНомеру(Л) = 1 Тогда Таб.НоваяСтрока(); Для К = 1 По КолКолонокТаб Цикл ИдентификаторРеквизита = глПолучитьЭлемент(ПараметрыТаб,К + 1,","); ЗначениеРеквизита = ПолучитьАтрибут(ИдентификаторРеквизита); Таб.УстановитьЗначение(Л,ИдентификаторРеквизита,ЗначениеРеквизита); КонецЦикла; Таб.Номер = Таб.НомерСтроки; КонецЕсли; КонецЦикла; Форма.Закладки.ДобавитьЗначение(Наименование,Метаданные.Документ(ВидДок).РеквизитШапки(Наименование).Синоним); СписокТаб.ДобавитьЗначение(Таб,Наименование); КонецПроцедуры // ЗаполнениеТаблиц
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
5) Вешаем кнопки для добавления удаления строк. Тут просто или ТабЗн.УдалитьСтроку или ТабЗн.НоваяСтрока(); 6) Описываем работу с ТЗ при кликании на ее строка, колонках. типа ...
Процедура ИзмТаблЗначений() ТКол=""; ТКол=ТабЗн.ТекущаяКолонка(); Если ТКол="Сумма" Тогда См = ТабЗн.Сумма; Рез=ВвестиЧисло(См,"Сумма",15.2,2); Если Рез=1 Тогда ТабЗн.Сумма=См; КонецЕсли; КонецЕсли; КонецПроцедуры //ИзмТаблЗначений
7) Если надо получать какие то данные из этой таблицы при проведении то в модуле опять значениеизстроки получаете свою таблицу и работаете с ней
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0
Подскажите, мне необходимо чтобы в таблице при выборе товара подтягивался его код, я прописываю процедурку, потом её объявляю, но почему то не подсоединяется код:
Процедура Подбор() ИмяТаб = Форма.Закладки.ПолучитьЗначение(Форма.Закладки.ТекущаяСтрока()); Таб = СписокТаб.Получить(ИмяТаб); ТекущаяСтрока = Таб.ТекущаяСтрока(); Если ПустоеЗначение(ТекущаяСтрока) = 1 Тогда Возврат; КонецЕсли;
Значение = 0; Если ТипКолонки = "Число" Тогда Если ВвестиЧисло(Значение,"Введите значение ("+ИмяКолонки+")",ДлинаКолонки,ТочностьКолонки,0) = 1 Тогда Таб.УстановитьЗначение(ТекущаяСтрока,ИмяКолонки,Значение); Форма.Обновить(1); КонецЕсли; ИначеЕсли ТипКолонки = "Строка" Тогда Если ВвестиСтроку(Значение,"Введите значение ("+ИмяКолонки+")",ДлинаКолонки,0,0) = 1 Тогда Таб.УстановитьЗначение(ТекущаяСтрока,ИмяКолонки,Значение); Форма.Обновить(1); КонецЕсли; ИначеЕсли ТипКолонки = "Дата" Тогда Если ВвестиДату(Значение,"Введите значение ("+ИмяКолонки+")",0) = 1 Тогда Таб.УстановитьЗначение(ТекущаяСтрока,ИмяКолонки,Значение); Форма.Обновить(1); КонецЕсли; ИначеЕсли (Лев(ТипКолонки,10) = "Справочник") или (Лев(ТипКолонки,8) = "Документ") Тогда Если ВвестиЗначение(Значение,"Введите значение ("+ИмяКолонки+")",ТипКолонки) = 1 Тогда Таб.УстановитьЗначение(ТекущаяСтрока,ИмяКолонки,Значение); ПриВыбореТМЦ(); Форма.Обновить(1); КонецЕсли; КонецЕсли;
если нужен непосредственно код элемента справочника, тогда
КодДК = ТМЦ.Код;
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!