8.х Добавление колонки в табличную часть

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Sorkin, 27 авг 2014.

  1. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Форумчане, привет. Помогите пожалуйста. УТ 10.3
    Платформа 8.3.

    У меня есть документ реализация товаров и услуг, в табличную часть этого документа мне программно нужно добавить реквизит (Колонку ) "ячейка", с типом число. Подскажите, как это можно сделать?
  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    в смысле программно?? А где будете хранить данные этого реквизита?
  3. XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    ТаблЧасть.Колонки.Добавить() - не помогает?
    Vladius нравится это.
  4. LordMaverick
    Online

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.433
    Симпатии:
    373
    Баллы:
    104
    ТС а для чего так именно?

    из вариантов можно ТЧ в ТЗ и изгаляться над ТЗ как пожелаешь
  5. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Что бы потом было легче обновлять.
    --- Объединение сообщений, 28 авг 2014 ---
    Я где то услышал или прочитал. Что можно программно добавить колонку, не трогая форму.
    Сейчас сам буду пробовать. Отпишусь.
  6. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Код:
       НовыйЭлемент = ЭлементыФормы.Товары.Колонки.Добавить("Ячейка", "Ячейка");
        НовыйЭлемент.УстановитьЭлементУправления(Тип("ПолеВвода"));
        НовыйЭлемент.Видимость = Истина;
        НовыйЭлемент.Доступность = Истина;
        НовыйЭлемент.Ширина = 15;
    вот, добавил.
    Блин, данные не сохраняет, дальше смотрю.
    Последнее редактирование: 28 авг 2014
  7. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    колонку то вы добавите - это не беда, но ответьте все таки - вам надо хранить в базе данные? если да, то как вы это будете делать, если колонка добавляется програмно. Если же она расчетная то - к табличной части вы программно не добавите, а вот к ТЗ - запросто
    --- Объединение сообщений, 28 авг 2014 ---
    у вас обычные формы видимо?
    --- Объединение сообщений, 28 авг 2014 ---
    в обработчике ОбработкаПроведения() смотрите
    Sorkin нравится это.
  8. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Форма обычные.
    я добавил реквизит ячейка, в ТЧ "товары", и написал вот эту штуку ПриОткрытии
    Код:
    НовыйЭлемент = ЭлементыФормы.Товары.Колонки.Добавить("Ячейка", "Ячейка");
        НовыйЭлемент.УстановитьЭлементУправления(Тип("ПолеВвода"));
        НовыйЭлемент.Данные = "Ячейка";
        НовыйЭлемент.Видимость = Истина;
        НовыйЭлемент.Доступность = Истина;
        НовыйЭлемент.Ширина = 15;
    теперь данные сохраняются, я правда не знаю где они хранятся, но теперь хранятся. Я просто еще капец какой школьник в программировании.
  9. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    что в вашем понимании ТЧ? если вы имеете ввиду табчасть объекта - то в нее вы программно не сможете добавить колонку. То что сделали вы - вы добавили в элемент формы колонку. Данные в нем без привязки к реквизиту объекта хранится не будут после закрытия формы. Они "живы" пока открыта форма и все. Правда если вы их будете вытягивать из регистра ПриОткрытии() формы и записывать обратно, то да - они будут хранится. Я думаю - вам сначала надо логически понять и решить как вы будете хранить и что делать с данными, а потом реализовывать. А то пока складывается впечатление, что вы не до конца понимаете что делаете.
  10. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Сейчас объясню. ТЧ (табличная часть)
    Я добавил реквизит в табличную часть "товары", называется "ячейка". И что бы потом максимально удобно было обновлять конфигурацию, решил форму не трогать, а добавить колонку программно и впихивать данные с ранее добавленного реквизита.
    Как я это сделал, описал выше. Теперь я в документе заполняю пою колонку, записываю документ и данные в колонки сохраняются и при повторном открытии никуда не исчезают. (надеюсь я правильно сделал).
  11. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если вы добавили реквизит в объект, то уж и на форму нормально бы добавили. При обновлении конфы у вас и так объект уже изменен. Не вижу смысла заморачиваться...
  12. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Просто задания дали, сделать так чтобы максимально удобно было обновить конфигурацию.
    Я подумал, вдруг, когда нибудь в обновлении будет изменение в форме, а у меня она не тронута. Профит)
  13. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ага, а то что код у нее вы правите? вы не подумали? это же все равно правка формы, только не внешнего вида, а модуля
    --- Объединение сообщений, 28 авг 2014 ---
    я не вижу профита, а только лишний гемор
  14. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Код можно перенести копированием и изменение в модули, другим программистом, посмотреть легче будет, чем изменение в самой форме. Ну это мое личное мнение. При нем и останусь. Спасибо вам за советы!
    artur1zip нравится это.
  15. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    успехов.
  16. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Не вчитывался особо. Но. Смотрите. Вы добавили реквизит и хотите чтобы он появился на форме. Для этого хотите прописать код (при обновлении придется потрудиться с кодом. Если конечна форма обновится). Гораздо проще добавить этот реквизит интерактивно на форму. В случае, если она меняется, то вы просто потом поставите его обратно и все. Нежели искать каждый раз этот кусок кода.
  17. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    504
    Симпатии:
    53
    Баллы:
    54
    С другой стороны - если адекватно коменты поставить, то обновляя (при сравнении и объединении) будет всё прекрасно видно...
  18. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    В принципе, при обновлении лично я вижу все. Комменты не к чему. Ну как Вы обновляете я не знаю. Так что решайте сами как сделать. Мы можем лишь дать совет.
    Sorkin нравится это.
  19. TopicStarter Overlay
    Sorkin
    Offline

    Sorkin Опытный в 1С

    Регистрация:
    30 май 2014
    Сообщения:
    106
    Симпатии:
    4
    Баллы:
    29
    Этот вопрос я решил. Подскажите, как теперь через подписку на события сделать движение из Реализация товаров и услуг в регистр "Ячейки". (который я создал)
    Пока не могу разобраться как.
  20. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    запись в регистр на мой взгялд должна делаться из модуля объекта, а не через подписку, хотя может я и не права

Поделиться этой страницей