Как удалить две повторяющихся строки подряд? У нас есть таблица в которой есть повторяющиеся подряд строки (после сортировки) и обе они ненужны!
Например в таблице будут будущие проводки и если суммы совпадают, то эти проводки нам не нужны.
Значит нужно удалить повторяющиеся строки:
Код 1C v 8.х #Область УдалениеЛишнихСтрок
Индекс=0;
Для каждого СтрТаб Из ТаблицаКурсовыхРазниц Цикл
Индекс = ТаблицаКурсовыхРазниц.Индекс(СтрТаб);
СтрТаб2 = ТаблицаКурсовыхРазниц.Получить(Индекс);
Если СтрТаб.СубконтоДт1 = СтрТаб2.СубконтоДт1 И СтрТаб.Сумма = СтрТаб2.Сумма Тогда //Условие совпадиния
ТаблицаКурсовыхРазниц.Удалить(Индекс+1);
ТаблицаКурсовыхРазниц.Удалить(Индекс);
КонецЕсли;
КонецЦикла;
#КонецОбласти
На выходе получим уже чистую таблицу.
Категория:
Работа с Таблицей Значений Как прочитать данные на определенную дату, из регистра сведений с отбором по измерению? Код 1C v 8.х // Чтение данных на определенную дату из регистра сведений
Запрос = Новый Запрос;
МассивВалют = Новый Массив;
МассивВалют.Добавить(Валюта1);
МассивВалют.Добавить(Валюта2);
Запрос.УстановитьПараметр("МассивВалют", МассивВалют);
Запрос.УстановитьПараметр("ДатаПолучения", ДатаПолучения);
Запрос.Текст = "
|ВЫБРАТЬ
| ВалютыСрезПоследних.Валюта,
| ВалютыСрезПоследних.Курс
|ИЗ
| РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПолучения, Валюта В (&МассивВалют)) КАК ВалютыСрезПоследних";
ТаблицаКурсов = Запрос.Выполнить().Выгрузить();
Создаем запрос. В качестве параметров запроса передаем массив валют, по которым мы хотим получить данные, и значение даты, на конец которой нужно получить срез последних.
Запрос строим по виртуальной таблице
РегистрСведений.КурсыВалют.СрезПоследних регистра
КурсыВалют . В качестве параметров виртуальной таблицы указываем дату построения и условие по измерению валюты (значения измерения должны входить в переданный массив).
Категория:
Регистры сведений