С помощью каких средств можно в 1c создать дин. массив

  • Автор темы Guest
  • Дата начала
G

Guest

#1
В отчете необходимо сделать группировку по контрагентам, для этого мне надо просмотреть всю выбранную проводку и одинаковых контрагентов просуммировать и вывести одного. Примерно так:
Код:
			Если тЗн.Орг.ИНН = тЗнКопия.Орг.ИНН Тогда
сзЗаписей.ДобавитьЗначение(ИндексВнПериод);	
Ст[номЗаписи] = тЗнКопия.Дата;
Ст[номЗаписи] = тЗнКопия.РегНом;
Ст[номЗаписи] = СокрЛП(тЗнКопия.Орг.НазвОрг);
Ст[номЗаписи] = СокрЛП(тЗнКопия.Орг.ИНН);			
Ст[номЗаписи] = Ст[номЗаписи] + тЗнКопия.СуммаСНдс;
Ст[номЗаписи] = Ст[номЗаписи] + (тЗнКопия.СуммаСНдс - тЗнКопия.НДС);
Ст[номЗаписи] = Ст[номЗаписи] + тЗнКопия.НДС;

Для н = 1 По сзЗаписей.РазмерСписка() Цикл
Если сзЗаписей.ПолучитьЗначение(н) = (номЗаписи + 1) Тогда
номЗаписи = номЗаписи + 1;
тЗнКопия.ПолучитьСтроку();
ПолучитьПериод = 0;
КонецЕсли;
КонецЦикла;

КонецЕсли;
Но вот проблема, каким средством можно в 1С реалиховать динамический массив, пробовал через СЗ:
Код:
СЗ.Установить(1,"Привет любителям Д*цензура*а и Кредита!!!");
СЗ.Установить(2,"Привет всем кто не любит Д*цензура* и Кредит!");
Значение1 = СЗ.Получить(1);
Значение1 = СЗ.Получить(2);
Не выходит :)
 
M

mihail922

#2
массивы в 1с77 не рекомендуются использовать, тем более что есть объет ТаблицаЗначений,
для работы с ним есть соотвествующие методы
Код:
ТЗ=СОздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка();
ТЗ.НоваяСтрока();
ТЗ.ПолучитьЗначение();
ТЗ.УстановитьЗначение();
ТЗ.КоличествоСтрок();
ТЗ.ПолучитьСтрокуПоНомеру();
а так же для подсчета итогов по группировкам ТЗ.Свернуть(), для сортировки значений
ТЗ.Сортировать()
Так же есть методы для копирования таблицы.
 
G

Guest

#3
массивы в 1с77 не рекомендуются использовать, тем более что есть объет ТаблицаЗначений,
для работы с ним есть соотвествующие методы
Код:
ТЗ=СОздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка();
ТЗ.НоваяСтрока();
ТЗ.ПолучитьЗначение();
ТЗ.УстановитьЗначение();
ТЗ.КоличествоСтрок();
ТЗ.ПолучитьСтрокуПоНомеру();
а так же для подсчета итогов по группировкам ТЗ.Свернуть(), для сортировки значений
ТЗ.Сортировать()
Так же есть методы для копирования таблицы.
Можно ли в 1С Ошибку: тЗнКопия.Орг.ИНН = Ошибка в выражении! Как-то обойти, ну что то вроде If Not IsNothing (тЗнКопия.Орг.ИНН) Then do somthing
 
L
#4
Можно ли в 1С Ошибку: тЗнКопия.Орг.ИНН = Ошибка в выражении! Как-то обойти, ну что то вроде If Not IsNothing (тЗнКопия.Орг.ИНН) Then do somthing
Если ПустоеЗначение(тЗнКопия.Орг.ИНН) = 0 Тогда
...
КонецЕсли;

Или даже скорее вот так:

Если ПустоеЗначение(тЗнКопия.Орг) = 0 Тогда
...
КонецЕсли;
Если у тебя не заполнено значение в эту колонку.
 
G

Guest

#5
Если ПустоеЗначение(тЗнКопия.Орг.ИНН) = 0 Тогда
...
КонецЕсли;
Не выходит, пишет:
Значение не представляет агрегатный объект (ИНН)
:(

Если ПустоеЗначение(тЗнКопия.Орг.ИНН) = 0 Тогда
...
КонецЕсли;

Или даже скорее вот так:

Если ПустоеЗначение(тЗнКопия.Орг) = 0 Тогда
...
КонецЕсли;
Если у тебя не заполнено значение в эту колонку.
Thanks, thanks, работает :huh:))))))))))))))))))
+1