Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 23:07
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Колекция - обход табличной части документа  (Прочитано 14157 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 1 Pers

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-30
  • Сайт: 
  • Профессия: Бухгалтер
Ой, подскажите дилетанту. :wacko:
Вопрос: Как средствами встроенного языка обойти табличную часть документа и обратиться к ее данным.

Я так понял, что это возможно с помощью объекта встроенного языка, который является коллекцией.

Что такое эта самая коллекция - я так понял, это набор стандартных команд для ситуаций.

А пользуется этой самой коллекцией Конструктор движений.

Так это или не так? :trhregerhg:


Оффлайн Андрей Федотов

  • ***
  • Сообщений: 212
  • РЕПУТАЦИЯ: 36
  • КПД: 17%
  • Регистрация: 2011-07-07
  • Компания: Future IT Solutions
  • Профессия: Разработчик 1С
Вы лучше скажите что вы хотите сделать с этой табличной частью.
Можно вытащить данные запросом, можно перебрать данные в процедуре.
Вариантов много
С уважением,
Андрей Федотов
Future IT Solutions

Оффлайн 1 Pers

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-09-30
  • Сайт: 
  • Профессия: Бухгалтер
Мне просто на вопрос ответить надо: Как средствами встроенного языка обойти табличную часть документа и обратиться к ее данным? :dfbbdrfb:
1С: ПРЕДПРИЯТИЕ 8.2 Практическое пособие разработчика Занятие 6 :befhbt:

Вот я бы и хотел этот момент прояснить.

В инете такой ответ:
Как обойти строки табличной части?

Обход строк табличной части проще всего реализуется с помощью цикла "Для Каждого СтрокаТЧ Из ТабЧасть Цикл". При этом переменной цикла будет являться не номер строки, а вся строка как объект. Если нужен еще номер строки, то можно использовать свойство НомерСтроки или добавить переменную и инкрементировать ее в теле цикла. Есть также возможность использовать обычный цикл "Для...По..Цикл", но необходимо помнить, что индекс 1-го элемента коллекции всегда равен 0 (нулю).


--------------------------------------------------------------------------------------------------------------------------

На сколько я понял, в свойствах документа, во вкладке движение, при выборе накопительного регистра, появляется возможность пользоваться Конструктором движения, и вот этот конструктор пользуется Коллекцией ;), что в свою очередь представляет собой готовые команды, настраиваемые мастером. Вообщем, вот что он делает:
Процедура ОбработкаПроведения(Отказ, Режим)
   //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   // регистр ОстаткиМатериалов Расход
   Движения.ОстаткиМатериалов.Записывать = Истина;
   Для Каждого ТекСтрокаПереченьНаменклатуры Из ПереченьНаменклатуры Цикл
      Движение = Движения.ОстаткиМатериалов.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
      Движение.Период = Дата;
      Движение.Материал = ТекСтрокаПереченьНаменклатуры.Номенклатура;
      Движение.Склад = Склад;
      Движение.Количество = ТекСтрокаПереченьНаменклатуры.Количество;
   КонецЦикла;

   //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
___________________________________________________________________________________________________________________

Я хотел бы прояснить для себя, что такое коллекция и с помощью ее ли, можно обойти табличную часть документа. :dfbbdrfb:

Оффлайн Андрей Федотов

  • ***
  • Сообщений: 212
  • РЕПУТАЦИЯ: 36
  • КПД: 17%
  • Регистрация: 2011-07-07
  • Компания: Future IT Solutions
  • Профессия: Разработчик 1С
За теорией не ко мне)
А так - табличная часть "ПереченьНоменклатуры" из вашего примера обходится в цикле. Причем "ТекСтрокаПереченьНаменклатуры" содержит как написано не номер строки, а набор значений (реквизиты табличной части), к которым вы можете обращаться через точку.
Т.к. обработка проведения у Вас находится в модуле объекта, в котором содержится данная ТЧ - это самый простой добраться к значениям табличной части
С уважением,
Андрей Федотов
Future IT Solutions

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Коллекция и есть табличная часть в вашем случае
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

Автор EHOTРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 4470
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

Автор Ярослав1984Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 7735
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

Автор yunovoРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4773
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 8488
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

Автор MKozzlikРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 7332
Последний ответ 03 Фев 2012, 17:27
от Dinah

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
49 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 295
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal