Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 мая 2024, 04:13

Переменная в цикле "Неопределено"

Автор Elfidor, 09 дек 2019, 15:25

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

Elfidor

Всем здравствуйте... Такая проблема, ТабЗначений заполнена как надо  и колонками и строками, но вот переменная ТекСтрока постоянно пустая, пишет "Неопределено". Как быть? Подскажите, что может быть не так?

Штрихкоды = "";

Пока ВыборкаСтрокТовары.Следующий() Цикл
Штрихкоды = Штрихкоды + ВыборкаСтрокТовары.Штрихкоды + ", ";
КонецЦикла;

Если СтрДлина(Штрихкоды)>1  Тогда
Штрихкоды = Сред(Штрихкоды,1,СтрДлина(Штрихкоды)-2);
КонецЕсли;

ТабЗначений = Новый ТаблицаЗначений;

ТабЗначений = РезультатЗапроса[0].Выгрузить();

ТаблицаЗнач2 = ТабЗначений.Скопировать();
ТаблицаЗнач2.Очистить();

ТабЗначений.Сортировать("Товар, Характеристика");

ТекНоменклатура = Неопределено;
ТекХарактеристика = Неопределено;

Для каждого ТекСтрока ИЗ ТабЗначений Цикл

Если ТекНоменклатура = ТекСтрока.Номенклатура И ТекХарактеристика = ТекСтрока.Характеристика Тогда
Штрихкоды = Штрихкоды + ВыборкаСтрокТовары.Штрихкоды + ", ";
Иначе
ТекСтрока = ТаблицаЗнач2.Добавить();
КонецЕсли;
ТекНоменклатура = ТекСтрока.Номенклатура;
ТекХарактеристика = ТекСтрока.Характеристика;
КонецЦикла;



Процедура то одна и с запросами и со всем чем вообще возможно... Это я, называется, 3й день одну печатную форму колупаю...

DmitriyF

Цитата: Elfidor от 09 дек 2019, 15:25
Всем здравствуйте... Такая проблема, ТабЗначений заполнена как надо  и колонками и строками, но вот переменная ТекСтрока постоянно пустая, пишет "Неопределено". Как быть? Подскажите, что может быть не так?

Штрихкоды = "";

Пока ВыборкаСтрокТовары.Следующий() Цикл
Штрихкоды = Штрихкоды + ВыборкаСтрокТовары.Штрихкоды + ", ";
КонецЦикла;

Если СтрДлина(Штрихкоды)>1  Тогда
Штрихкоды = Сред(Штрихкоды,1,СтрДлина(Штрихкоды)-2);
КонецЕсли;

ТабЗначений = Новый ТаблицаЗначений;

ТабЗначений = РезультатЗапроса[0].Выгрузить();

ТаблицаЗнач2 = ТабЗначений.Скопировать();
ТаблицаЗнач2.Очистить();

ТабЗначений.Сортировать("Товар, Характеристика");

ТекНоменклатура = Неопределено;
ТекХарактеристика = Неопределено;

Для каждого ТекСтрока ИЗ ТабЗначений Цикл

Если ТекНоменклатура = ТекСтрока.Номенклатура И ТекХарактеристика = ТекСтрока.Характеристика Тогда
Штрихкоды = Штрихкоды + ВыборкаСтрокТовары.Штрихкоды + ", ";
Иначе
ТекСтрока = ТаблицаЗнач2.Добавить();
КонецЕсли;
ТекНоменклатура = ТекСтрока.Номенклатура;
ТекХарактеристика = ТекСтрока.Характеристика;
КонецЦикла;



Процедура то одна и с запросами и со всем чем вообще возможно... Это я, называется, 3й день одну печатную форму колупаю...
А она точно заполнена как надо? Получение по индексу в отладчике, что покажет?

Elfidor

Цитата: DmitriyF от 09 дек 2019, 15:44
Цитата: Elfidor от 09 дек 2019, 15:25
Процедура то одна и с запросами и со всем чем вообще возможно... Это я, называется, 3й день одну печатную форму колупаю...
А она точно заполнена как надо? Получение по индексу в отладчике, что покажет?
Я кажется понял в чем проблема, но о решении проблемы сказать всё равно ничего не могу.Дело в том что ТекСтрока и ТабЗначений забиваются по разному (да я там чёт намутил сам не понял что и она начала заполняться). Взгляните, если не сложно(два скрина)
Добавлено: 09 дек 2019, 17:55


Простите христа ради... Я просто идиот... Вот правильный код и всё работает
Штрихкоды = "";
Если СтрДлина(Штрихкоды)>1  Тогда
Штрихкоды = Сред(Штрихкоды,1,СтрДлина(Штрихкоды)-2);
КонецЕсли;


ТабЗначений = Новый ТаблицаЗначений;

ТабЗначений = РезультатЗапроса[0].Выгрузить();

ТаблицаЗнач2 = ТабЗначений.Скопировать();
ТаблицаЗнач2.Очистить();

ТабЗначений.Сортировать("Товар, Характеристика");

ТекНоменклатура = Неопределено;
ТекХарактеристика = Неопределено;
НоваяСтрока = "";

Для каждого ТекСтрока ИЗ ТабЗначений Цикл

Если ТекНоменклатура = ТекСтрока.Номенклатура И ТекХарактеристика = ТекСтрока.Характеристика Тогда
НоваяСтрока.Штрихкоды = НоваяСтрока.Штрихкоды + ", " + ТекСтрока.Штрихкоды;
Иначе
НоваяСтрока = ТаблицаЗнач2.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,ТекСтрока);

КонецЕсли;

ТекНоменклатура = ТекСтрока.Номенклатура;
ТекХарактеристика = ТекСтрока.Характеристика;
КонецЦикла;


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск