С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/55: Рейтинг темы: голосов - 55, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
1
1C 8.x

1C :УПП. Добавить на форму табличную часть

19.11.2015, 08:48. Показов 10452. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,подскажите книгу,ссылку или пример вышлите пожалуйста,а лучше инструкцию.Мне надо в типовой документ вставить табличную часть новую.Я ее добавила.Нигде ничего не прописывала ,запустила в режиме предприятия и не увидела ее вообще в документе,моя табличную часть.Вообщем может кто нибудь написать инструкцию типа:
1. добавить табличную часть в документ
2.....
3... и т.д
Просто не знаю что надо делать,излазила весь инет.И еще мне надо чтоб данные брались из регистра сведения.Спасибо большое.Второй день маюсь не могу уже.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
19.11.2015, 08:48
Ответы с готовыми решениями:

Програмно добавить объект в табличную часть
Я хочу програмно добавить объект в табличную часть, в которой реквизитом есть ссылка на справочник....

Добавить строку в табличную часть программно
Приветствую! Наваял такой вот код: &НаКлиенте Процедура Команда1(Команда)...

Открыть форму из другой формы и заполнить ее табличную часть
Здравствуйте. Прошу помощи. Задача такая... Есть форма документа и текстовое поле ФИО, куда...

Добавить новую запись в табличную часть ОперацияБух
Здравствуйте, во внешней обработке создаю новый документ ОперацияБух, заполняю шапку документа:...

14
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 09:12 2
Стелла21, если табличная часть добавлена в конфигурации, это не значит, что она добавлена на форму.
Открываете форму и добавляете её указывая данные объект.вашатабличнаячасть.
Тогда и только тогда она появится на форме.
1
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
19.11.2015, 09:27  [ТС] 3
Для уточнения,вы говорите чтоб я в модуле формы прописала,что у меня есть табличная часть?или просто добавить новую форму?
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 09:34 4
Стелла21, есть форма элемента - на неё надо добавить табличное поле и привязать его данные к вашей табличной части.
1
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
19.11.2015, 10:07  [ТС] 5
Спасибо огромное,получилось))))))))))А подскажите как мне теперь сделать так чтобы одна переменная(реквизит из моей табличной части)брал значения из регистра сведения при это самые актуальные?
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 10:15 6
Стелла21, а никак. Потому что это нарушение логики в работы системы в принципе.

Если есть документ, то в реквизитах и в табличных частях он хранит некие данные, которые здесь и сейчас.
Т.е. никакие реквизиты не могут хранить в табличной части данные из регистра.

Для того, чтобы заполнялось данными из регистра, Вам предварительно эти данные надо запросом получить и добавив новую строку данных в табличную часть уже в этот реквизит полученные данные положить.
0
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
19.11.2015, 11:06  [ТС] 7
Тип реквизита в документе-Часоваяставка=ЧИСЛО
В модуле пишу такой запрос,но не работает,не ставит он автоматом в документ не ставиться
1C
1
2
3
Запрос=Новый Запрос(   "ВЫБРАТЬ
            |   Документ.ЗаказПокупателя.НачисленияСотрудникам КАК ЗаказПокупателяНачисленияСотрудникам,
            |   РегистрСведений.ЧасоваяСтавкаСотрудникаГС.СрезПоследних КАК ЧасоваяСтавкаСотрудникаГССрезПоследних"  );
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 11:17 8
Стелла21,
ну правильно запросом данные получаете из регистра.
Далее в таблицу:
Строка = таблица.добавить();
Строка.ЧасоваяСтавка = РезультатЗапроса[0].ЧасоваяСтавка;

За Вас это никто не сделает.
0
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
19.11.2015, 11:27  [ТС] 9
Я не понимаю,куда и что добавить,я не много исправила запрос:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
&НаСервере
Процедура НачисленияСотрудникамГСВыборЗначенияНаСервере()
                Запрос=Новый Запрос(" ВЫБРАТЬ
                                       |    ЗаказПокупателяНачисленияСотрудникам.ЧасоваяСтавкаГС
                                       |{ВЫБРАТЬ
                                       |    ЧасоваяСтавкаГС}
                                       |ИЗ
                                       |    Документ.ЗаказПокупателя.НачисленияСотрудникам КАК ЗаказПокупателяНачисленияСотрудникам,
                                       |    (ВЫБРАТЬ
                                       |        ЧасоваяСтавкаСотрудникаГССрезПоследних.ЧасоваяСтавка КАК ЧасоваяСтавка
                                       |    ИЗ
                                       |        РегистрСведений.ЧасоваяСтавкаСотрудникаГС.СрезПоследних КАК ЧасоваяСтавкаСотрудникаГССрезПоследних) КАК ВложенныйЗапрос");
                
    КонецПроцедуры
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 11:29 10
Стелла21,
Запрос - Вам вернул данные.
Т.е. данные вернулись и всё? Их не надо передать в Ваш реквизит?
получить информацию <> передать информацию,
1
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
19.11.2015, 11:32  [ТС] 11
я уже запуталась.Мне надо чтоб в документе Заказ Покупателя,была новая табличная часть.В ней только сотрудник и часовая ставка.Выбираем сотрудника и он автоматом берет часовую ставку из регистра сведений и ставит ее в табличную часть.И ВСЕ.А сделать не могу
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 11:36 12
Стелла21,
О, новые интересности.
в табличной части на колонке Сотрудник ПриИзменении();

1. Получаем Сотрудника текущей строки и проверяем, что это не пустая ссылка из справочника.
2. Делаем запрос к регистру сведений по этому сотруднику и получаем часовую ставку.
3. В результате выполнения запроса появляется число (часовая ставка), которое требуется присвоить в ТекущиеДанные.ЧасоваяСтавка = ЧасоваяСтавкаИзЗапроса.

Сложность в чём?
1
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
19.11.2015, 12:26  [ТС] 13
Вот про такую инструкцию я писала,спасибо,сейчас попробую)Вы только не исчезайте))Боюсь не справлюсь без вас

Добавлено через 40 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Процедура НачисленияСотрудникамГСПриИзмененииНаСервере()
        Запрос=Новый Запрос ("ВЫБРАТЬ
                             |  Сотрудники.Ссылка,
                             |  ЧасоваяСтавкаСотрудникаГССрезПоследних.Сотрудник,
                             |  ЧасоваяСтавкаСотрудникаГССрезПоследних.ЧасоваяСтавка
                             |ИЗ
                             |  РегистрСведений.ЧасоваяСтавкаСотрудникаГС.СрезПоследних КАК ЧасоваяСтавкаСотрудникаГССрезПоследних
                             |      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
                             |      ПО ЧасоваяСтавкаСотрудникаГССрезПоследних.Сотрудник = Сотрудники.Ссылка");
                                                          
                                 
        
                    
            
            
    КонецПроцедуры
Так?
0
340 / 315 / 43
Регистрация: 20.08.2014
Сообщений: 1,242
Записей в блоге: 1
19.11.2015, 12:35 14
Стелла21, это только выполнение запроса, теперь из запроса надо достать данные и передать на клиента.
На клиенте в строке в которой произошло событие изменения сотрдуника требуется полученные данные вставить в часовую ставку.
0
1 / 1 / 0
Регистрация: 07.06.2014
Сообщений: 23
25.11.2015, 10:07  [ТС] 15
Вот,что вышло и это работает)
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
&НаКлиенте
Процедура НачисленияСотрудникамГССотрудникПриИзменении(Элемент)
    ДанныеСтроки=Элементы.НачисленияСотрудникамГС.ТекущиеДанные;
    ДанныеСтроки.ЧасоваяСтавкаГС=НачисленияСотрудникамГССотрудникПриИзмененииНаСервере(ДанныеСтроки.Сотрудник,Объект.Дата);
КонецПроцедуры
 
&НаСервереБезКонтекста
Функция НачисленияСотрудникамГССотрудникПриИзмененииНаСервере(Сотрудник,НаДату)
    Запрос=Новый Запрос("ВЫБРАТЬ
    | ЧасоваяСтавкаСотрудникаГССрезПоследних.ЧасоваяСтавка
    |ИЗ
    | РегистрСведений.ЧасоваяСтавкаСотрудникаГС.СрезПоследних(&НаДату, Сотрудник = &Сотрудник) КАК ЧасоваяСтавкаСотрудникаГССрезПоследних");
    
    Запрос.УстановитьПараметр("Сотрудник",Сотрудник);
    Запрос.УстановитьПараметр("НаДату",НаДату);
    ЧасоваяСтавка=0;
    Результат = Запрос.Выполнить();
    Если НЕ Результат.Пустой() Тогда
        Выборка = Результат.Выбрать();
        Выборка.Следующий();
        ЧасоваяСтавка = Выборка.ЧасоваяСтавка;    
    КонецЕсли;
    
    Возврат ЧасоваяСтавка;
КонецФункции
0
25.11.2015, 10:07
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
25.11.2015, 10:07
Помогаю со студенческими работами здесь

Как добавить табличную часть документа в условие отбора?
Всем доброго времени суток! Как добавить табличную часть документа в условие отбора? Есть один...

Как из одной формы добавить строки в табличную часть другой 1с 8.3
Могу вызвать одну форму из другой, но не зная как передать ссылку в новую форму на старую.

Как добавить в массив табличную часть выделенного из списка документа
Добрый день. Не когда не занимался программирование 1с. Приходиться изучать. Подскажите как...

XML в табличную часть
Здравствуйте, пните в нужном направлении. Не могу понять как десериализовать данную XML &lt;?xml...

Выгрузить в табличную часть
Помогите, пожалуйста, с загрузкой данных в табличную часть. Чтобы вывелись данные из узла Сем. Для...

Изменить табличную часть
Доброго времени суток! Как это сделать ругается на количество. &amp;НаКлиенте Процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru