#0
by Глупый дятел
Есть две тз. У каждой есть колонка для привязки и колонка, значение которой надо сравнить. Как это проще организовать? Как сравнить каждый элемент с каждым через двойной цикл сам догадаюсь. Надо ченить более оптимальное.
#12
by Глупый дятел
Задача немного изменилась, надо сравнить поле с тремя привязками. Есть две таблицы с колонками "дата, гаражный_номер, вид_топлива, количество_заправлено". Надо отыскать различия в заправленном количестве при равных датах, номерах и видах. Подскажите, как поступить в данном случае, нодогоняю пока.
#15
by Глупый дятел
Ктонить конечный код запроса может помочь накидать? Нужна в итоге таблица гаражный марка дата код топлива заправлено АЗС (1 табл) заправлено ПЛ (2 табл)
#18
by Pashkaa
Куда еще более конкретное то. Ты хочешь что бы за тебя всю работу сделали. Вместо Дата Номер и Вид поставь названия своих столбцов. Передай эти таблицы в запрос Выполни запрос и выгрузи данные в ТЗ
#19
by vde69
конечно могут, но за более конкретные денюжки... советов и примеров полно, если что-то не понимаешь - спрашивай конкретно что не понятно, а готовое решение просить - не кошерно.
#20
by Глупый дятел
Я прописал так Запрос = Новый Запрос("ВЫБРАТЬ В итоге ошибка {Отчет.СравнениеДбфДляАЗС.Форма.ФормаОтчета}: Метод объекта не обнаружен (УстановитьПараметры) Запрос.УстановитьПараметры("ТЗ1", тзАЗС);
#28
by Глупый дятел
Ага, верно. Теперь другая ошибка {Отчет.СравнениеДбфДляАЗС.Форма.ФормаОтчета}: Ошибка при вызове метода контекста (Выполнить): {(6, 2)}: Таблица не найдена "тзАЗС" Но у меня есть такая таблица и с заполненными значениями.
#29
by 73
1. ТЗ как параметр можно только помещать во временные. 2. Вид соединения уточнить по задаче. Запрос = Новый Запрос("ВЫБРАТЬ | ТЗ1.*
#33
by Глупый дятел
{Отчет.СравнениеДбфДляАЗС.Форма.ФормаОтчета}: Ошибка при вызове метода контекста (Выполнить): {(6, 2)}: Тип не может быть выбран в запросе <<?>>&тзАЗС КАК ТЗ1;
#35
by Злобный Йожег
А может, тебе сначала лучше почитать про временные таблицы? А то ты реально задолбал уже тут всех...
#39
by Глупый дятел
Я тут немного код переделал, все равно ошибка В итоге: {Отчет.СравнениеДбфДляАЗС.Форма.ФормаОтчета}: Ошибка при вызове метода контекста (Выполнить): {(20, 14)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов.
#47
by Kolyasik
у тебя ошибка: Строка не ограниченной длины тебе лень вот ето добавить? Новый КвалификаторыСтроки
#49
by 73
тзАЗС.Колонки.Добавить("Гаражный", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки));
#51
by Глупый дятел
Теперь вроде все правильно. Но когда я задал сообщить значения итоговой таблицы ТЗрезультат, 200 значений выводилось минуты 3, из другой тз они выводятся 2 сек. Нунафиг этот запрос. Лучше бы сразу сделал тупым перебором. И проще сделать и быстрее работает.
#52
by Fram
а ты уверен что это запрос 3 минуты работал? мне кажется до запроса что то работало эти 3 минуты. пройдись отладчиком
#53
by Глупый дятел
Не, именно это. Все гаражные минуты 3 выводятся. А если я задаю вывод дат, то система вообще подвисает. Выводятся даты типа "11 11 0001". Нет у меня в предыдущих таблицах таких дат. Глюк какой-то.
#54
by Fram
у меня вопрос.. ты зачем запрос 2 раза выполняешь? :) PS скорее всего накосячил с запросом. тренируйся на кошках
#55
by Глупый дятел
Запускаю, все нормально, но сумма не идет, выходит ошибка {Отчет.Отчет3РасчетГСМ.Форма.ФормаОтчета}: Преобразование значения к типу Число не может быть выполнено Типы вроде заданы правильно, с размером. тзАЗС.Колонки.Добавить("Гаражный", Новый ОписаниеТипов("Строка",,,,Новый КвалификаторыСтроки)); тзАЗС.Колонки.Добавить("ЗаправленоАЗС", Новый ОписаниеТипов("Число",,,,Новый КвалификаторыСтроки)); В чем еще может быть причина? Кроме суммирования все выводится корректно.
#57
by Глупый дятел
Предложи, как лучше. А еще лучше если поможете понять, почему выходит ошибка {Отчет.Отчет3РасчетГСМ.Форма.ФормаОтчета}: Преобразование значения к типу Число не может быть выполнено обл.Параметры.разница=Стр.ЗаправленоАЗС-Стр.ЗаправленоПЛ;
#59
by hhhh
а индексировать ТЗ за тебя Пушкин будет? Что же ты? Не проиндексировал, а надеешься, что быстро сработает.
#60
by Глупый дятел
Действительно, там есть вероятность пустых значений. А как это лучше обработать?
#61
by 73
+ или неразрывные пробелы. зачем число в строку?: число(сокрлп(строка(Стр.ЗаправленоАЗС)))-
#63
by Глупый дятел
73, Большое спасибо, проблема была действительно в этом, решил следующим способом запАЗС=?(значениезаполнено(Стр.ЗаправленоАЗС),Стр.ЗаправленоАЗС,0);
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Подскажите как записать число в XML в параметр. У меня криво пишется
- Как реквизиту с типом Произвольный программно назначить конкретный тип?
- Сравнение двух книг Excel
- Срез первых
- Прибавить к дате какое-то число месяцев
- Зависшее приложение 1cv8.exe, версия 8.1.13.41, зависший модуль hungapp
- Как указать другой счет дебета по страхованию от НС в ЗУП
- Перебор элементов массива с конца
- Не хватает памяти при выгрузке в Битрикс.
- Жутко тормозит ТиС при выполнении РассчитатьРегистрыНа()! Что делать?
- Как в запросе определить Уровень() элемента справочника?
- Товарооборот между ООО и ИП в одной базе
- Выгонялка из восьмёрки
- ЗУП и Классификатор Использования рабочего времени
- vk_rs232,dll и Windows 7
- УПП Можно ли тарифные сетки занести!
- Постоянно слетают настройки принтеров
- Как определить кто грузит сервер через Managment Studio?
- Обмен сообщениями между пользователями 1С
- Метотод "Обновить" ПолеHTMLДокумента?