По теме из базы знаний
- Свернуть ТЗ с подитогами по группировкам
- Таблица значений на УФ с динамическим набором колонок
- Загрузка банковской выписки для 1С 7.7 любой конфигурации
- Консоль кода с поддержкой объявления процедур и функций, с дополнительными функциями отслеживания и вывода значений
- Переход на Clickhouse для анализа метрик
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Доступ к колонке через имя и квадратные скобки: СтрокаТаблицы["День1"]
Для пример можно использовать вот такой код:
Доступ к колонке через имя и квадратные скобки: СтрокаТаблицы["День1"]
Для пример можно использовать вот такой код:
Для Каждого СтрТаб ИЗ ТЗ Цикл
Для НомерДняНедели = 1 По 7 Цикл
ИмяКолоки = "День"+Формат(НомерДняНедели,"ЧГ=");
СтрТаб[ИмяКолоки] = 15; //Значение колонки
КонецЦикла;
КонецЦикла;
(4) Еще вопрос. Как заполнить одну и ту же строку по индексу?
Например вот такая задача. Заполнить данные по дням недели. Если деньнедели = 1 тогда в ТЗ колонках День1 Время1 Рвботал1 добавляю данные, потом когда деньнедели =2 тогда заполняю колонки День2 Время2 Работал2 и тд до День6 не добавляя новую строку. Как должен быть алгоритм действия.
Например вот такая задача. Заполнить данные по дням недели. Если деньнедели = 1 тогда в ТЗ колонках День1 Время1 Рвботал1 добавляю данные, потом когда деньнедели =2 тогда заполняю колонки День2 Время2 Работал2 и тд до День6 не добавляя новую строку. Как должен быть алгоритм действия.
(5)
Тогда вам надо местами циклы поменять. Т.е. сначала бегать по дням, потом по строкам:
Тогда вам надо местами циклы поменять. Т.е. сначала бегать по дням, потом по строкам:
Для НомерДняНедели = 1 По 7 Цикл
Для Каждого СтрТаб ИЗ ТЗ Цикл
ИмяКолоки = "День"+Формат(НомерДняНедели,"ЧГ=");
СтрТаб[ИмяКолоки] = 15; //Значение колонки
ИмяКолоки = "Время"+Формат(НомерДняНедели,"ЧГ=");
СтрТаб[ИмяКолоки] = 15; //Значение колонки
КонецЦикла;
КонецЦикла;
Показать
(6) А если сначала добавлю например 5-6 строк, потом во втором заходе не добавляю, а по количеству строк добавляю следующие дни. Не могу разобраться. Сначала с екселя загружаю в ТЗ. Далее в цикле сравниваю строки этой ТЗ со справочниками. Типо так СтрНайти("") если истина то справочник.Работники. НайтиПоКоду.(Возрат структура) И после этого должен добавить в данныеФормыКоллекции.
(8) Получил ТЗ с екселя. Далее делаю отбор по дню недели. Получаю 5-6 строк (массив)
Для каждого эл из массив цикл
Строка = ТаблицаНаФорме.Добавить()
Данные = СопоставлениеДанных(эл) // структура с данными День1 = 1 Работник1 = Иванов Иван
ЗаполнитьЗначениеСвойств(строка, Данные);
КонецЦикла // Первый день недели закончился. Далее сюда же заходит второй день. (Вот тут у меня же стоит ТаблицаНаФорме.Добавить()) на форме при выводе идет лестницей. Во втором дне недели могут быть совсем разные данные и среду тоже итд
Для каждого эл из массив цикл
Строка = ТаблицаНаФорме.Добавить()
Данные = СопоставлениеДанных(эл) // структура с данными День1 = 1 Работник1 = Иванов Иван
ЗаполнитьЗначениеСвойств(строка, Данные);
КонецЦикла // Первый день недели закончился. Далее сюда же заходит второй день. (Вот тут у меня же стоит ТаблицаНаФорме.Добавить()) на форме при выводе идет лестницей. Во втором дне недели могут быть совсем разные данные и среду тоже итд
(9)
Тогда в вашем случае нужно все упаковать в цикл обхода по дням недели.
Ну и в вашу процедуру СопоставлениеДанных наверное надо передавать НомерДняНедели, чтобы правильно формировать структуру итоговых данных
Тогда в вашем случае нужно все упаковать в цикл обхода по дням недели.
Ну и в вашу процедуру СопоставлениеДанных наверное надо передавать НомерДняНедели, чтобы правильно формировать структуру итоговых данных
СтруктураПоиска = Новый Структура;
СтруктураПоиска.Вставить("ДеньНедели");
Для НомерДняНедели = 1 По 7 Цикл
СтруктураПоиска.ДеньНедели = НомерДняНедели;
Массив = ТЗ.НайтиСтроки(СтруктураПоиска);
Для Каждого Эл ИЗ Массв Цикл
Строка = ТаблицаНаФорме.Добавить();
Данные = СопоставлениеДанных(Эл,НомерДняНедели);
ЗаполнитьЗначенияСвойств(Строка,Данные);
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот