• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

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

Guest

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

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

КонецЕсли;

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

mihail922

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

Guest

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

Можно ли в 1С Ошибку: тЗнКопия.Орг.ИНН = Ошибка в выражении! Как-то обойти, ну что то вроде If Not IsNothing (тЗнКопия.Орг.ИНН) Then do somthing
 
L

LSH

Можно ли в 1С Ошибку: тЗнКопия.Орг.ИНН = Ошибка в выражении! Как-то обойти, ну что то вроде If Not IsNothing (тЗнКопия.Орг.ИНН) Then do somthing

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

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

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

Guest

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

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!