Как во внешней обработке перебрать строки в ее Табличной части?

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. ivnik 593 02.03.14 11:23 Сейчас в теме
Как во внешней обработке перебрать строки в ее Табличной части?
По теме из базы знаний
Найденные решения
10. jigourt 31 03.03.14 00:38 Сейчас в теме
(9) ivnik, как всегда проблема не там, где ищете ))
Процедура Перегрузка()

    НовДок = Документы.РегистрацияРазовыхНачисленийРаботниковОрганизаций.СоздатьДокумент();
    НовДок.Организация=ЭлементыФормы.Организация.Значение;
    НовДок.ПериодРегистрации=ПериодРегистрации;
    
    Для Каждого ТекСтрока Из Доплаты Цикл  // заполним табличную часть документа, из ТаблицыЗначений
        Если ТекСтрока.СуммаПоОкладу > 0 Тогда
            НС=НовДок.ОсновныеНачисления.Добавить();    
            НС.Авторасчет=Истина;
            НС.Сотрудник = ТекСтрока.Сотрудник;
            НС.ВидРасчета = ВР1;
            НС.ПодразделениеОрганизации = ТекСтрока.Сотрудник.ПодразделениеОрганизации;
            НС.Показатель1 = ТекСтрока.СуммаПоОкладу; 
            НС.Результат = ТекСтрока.СуммаПоОкладу; 
            НС.ДатаНачала = ТекСтрока.ДатаНачала;
            НС.ДатаНачалаСобытия = ТекСтрока.ДатаНачала;
            НС.ДатаОкончания = ТекСтрока.ДатаОкончания;
            НС.ОплаченоДнейЧасов = ТекСтрока.ОтрабДней;
            НС.НормаДней = ТекСтрока.ОтрабДней;
        КонецЕсли;
    КонецЦикла;
    НовДок.ПолучитьФорму().Открыть();
КонецПроцедуры
Показать
11. ivnik 593 03.03.14 00:45 Сейчас в теме
(10) jigourt, ОГРОМНОЕ СПАСИБО!!! Вот же старый осел, вообще не внимательным стал (это я про себя).
Еще раз ОГРОМНОЕ Вам СПАСИБО!!!!!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 02.03.14 12:45 Сейчас в теме
(1) ivnik,

Для Каждого Строка из ТабличнаяЧасть Цикл
КонецЦикла;
3. kermzyxer 10 02.03.14 15:11 Сейчас в теме
Я бы добавил ЭлементыФормы. перед Табличная часть, если перебрать надо то, что в табличной части на форме.
4. jigourt 31 02.03.14 15:17 Сейчас в теме
(3) kermzyxer, а я бы не говорил глупостей
5. ivnik 593 03.03.14 00:20 Сейчас в теме
Это я уже пробовал, не работает ни так ни так. Если написать:
Для Каждого Строка из ТабличнаяЧасть Цикл
КонецЦикла;
то выдает ошибку на "ТабличнаяЧасть", а если написать:
Для Каждого Строка из ЭлементыФормы.ТабличнаяЧасть Цикл
КонецЦикла;
тогда что-то не понятное: в таблице одна строка, а на выходе их почему-то 15 одинаковых!!! И почему 15 тоже не могу понять?
6. jigourt 31 03.03.14 00:21 Сейчас в теме
(5) ivnik, что за ошибка на табличнуючасть?
напишу яснее
Для Каждого Строчка Из ЗдесьИмяТабличнойЧасти Цикл
КонецЦикла;
7. ivnik 593 03.03.14 00:28 Сейчас в теме
(6) jigourt, Ошибка типа "Переменная не обнаружена" (Разумеется, у меня написано имя ТЧ).
Извиняюсь, точнее на выходе получаю пустоту, т.е. в другой документ табличная часть не перегружается.
8. jigourt 31 03.03.14 00:29 Сейчас в теме
(7) ivnik, тогда видимо формы управляемые и
вместо имени табличной части, Объект.ИмяТабличнойЧасти

хотя стоп, на элементыформы же не ругнулся, код в студию тогда
9. ivnik 593 03.03.14 00:35 Сейчас в теме
Форма обычная!
Код в студию:
Процедура Перегрузка()

	НовДок = Документы.РегистрацияРазовыхНачисленийРаботниковОрганизаций.СоздатьДокумент();
	НовДок.Организация=ЭлементыФормы.Организация.Значение;
	НовДок.ПериодРегистрации=ПериодРегистрации;
	
	Для Каждого ТекСтрока Из Доплаты Цикл  // заполним табличную часть документа, из ТаблицыЗначений
		Если ЭлементыФормы.Доплаты.ТекущиеДанные.СуммаПоОкладу > 0 Тогда
			НС=НовДок.ОсновныеНачисления.Добавить();	
			НС.Авторасчет=Истина;
			НС.Сотрудник = ЭлементыФормы.Доплаты.ТекущиеДанные.Сотрудник;
			НС.ВидРасчета = ЭлементыФормы.ВР1.Значение;
			НС.ПодразделениеОрганизации = ЭлементыФормы.Доплаты.ТекущиеДанные.Сотрудник.ПодразделениеОрганизации;
			НС.Показатель1 = ЭлементыФормы.Доплаты.ТекущиеДанные.СуммаПоОкладу; 
			НС.Результат = ЭлементыФормы.Доплаты.ТекущиеДанные.СуммаПоОкладу; 
			НС.ДатаНачала = ЭлементыФормы.Доплаты.ТекущиеДанные.ДатаНачала;
			НС.ДатаНачалаСобытия = ЭлементыФормы.Доплаты.ТекущиеДанные.ДатаНачала;
			НС.ДатаОкончания = ЭлементыФормы.Доплаты.ТекущиеДанные.ДатаОкончания;
			НС.ОплаченоДнейЧасов = ЭлементыФормы.Доплаты.ТекущиеДанные.ОтрабДней;
			НС.НормаДней = ЭлементыФормы.Доплаты.ТекущиеДанные.ОтрабДней;
		КонецЕсли;
	КонецЦикла;
	НовДок.ПолучитьФорму().Открыть();
КонецПроцедуры
Показать
10. jigourt 31 03.03.14 00:38 Сейчас в теме
(9) ivnik, как всегда проблема не там, где ищете ))
Процедура Перегрузка()

    НовДок = Документы.РегистрацияРазовыхНачисленийРаботниковОрганизаций.СоздатьДокумент();
    НовДок.Организация=ЭлементыФормы.Организация.Значение;
    НовДок.ПериодРегистрации=ПериодРегистрации;
    
    Для Каждого ТекСтрока Из Доплаты Цикл  // заполним табличную часть документа, из ТаблицыЗначений
        Если ТекСтрока.СуммаПоОкладу > 0 Тогда
            НС=НовДок.ОсновныеНачисления.Добавить();    
            НС.Авторасчет=Истина;
            НС.Сотрудник = ТекСтрока.Сотрудник;
            НС.ВидРасчета = ВР1;
            НС.ПодразделениеОрганизации = ТекСтрока.Сотрудник.ПодразделениеОрганизации;
            НС.Показатель1 = ТекСтрока.СуммаПоОкладу; 
            НС.Результат = ТекСтрока.СуммаПоОкладу; 
            НС.ДатаНачала = ТекСтрока.ДатаНачала;
            НС.ДатаНачалаСобытия = ТекСтрока.ДатаНачала;
            НС.ДатаОкончания = ТекСтрока.ДатаОкончания;
            НС.ОплаченоДнейЧасов = ТекСтрока.ОтрабДней;
            НС.НормаДней = ТекСтрока.ОтрабДней;
        КонецЕсли;
    КонецЦикла;
    НовДок.ПолучитьФорму().Открыть();
КонецПроцедуры
Показать
11. ivnik 593 03.03.14 00:45 Сейчас в теме
(10) jigourt, ОГРОМНОЕ СПАСИБО!!! Вот же старый осел, вообще не внимательным стал (это я про себя).
Еще раз ОГРОМНОЕ Вам СПАСИБО!!!!!
12. jigourt 31 03.03.14 00:47 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот