Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отбор строк ТЗ по значению не являющемуся колонкой ТЗ 2 страниц V  < 1 2          
logist Подменю пользователя
сообщение 25.05.12, 12:52
Сообщение #21

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Стою я на месте с этим вопросом. В ТЗ колонки оказались не совсем типизированными, т.е. номенклатура это не СправочникСсылка sad.gif(


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 25.05.12, 13:07
Сообщение #22

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

На каком именно месте стоянка? smile.gif Что сделали, что именно не получается?

Спасибо сказали: logist,

logist Подменю пользователя
сообщение 25.05.12, 13:31
Сообщение #23

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Извиняюсь, тупанул, пятница)) Колонка номенклатура таки имеет типа СправочникСсылка.

Собственно вот:
<...>
    ТаблицаТовары = Документ.Товары.Выгрузить();
    
    МассивНоменклатуры = ТаблицаТовары.ВыгрузитьКолонку("Номенклатура");
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", МассивНоменклатуры);
    Запрос.Текст = "ВЫБРАТЬ
                   |    СтавкиНДС.Ссылка КАК СтавкаНДС
                   |ИЗ
                   |    Справочник.СтавкиНДС КАК СтавкиНДС
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
                   |        ПО Номенклатура.СтавкаНДС = СтавкиНДС.Ссылка
                   |ГДЕ
                   |    Номенклатура.Ссылка В(&Ссылка)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    СтавкиНДС.Ссылка";
    Выборка = Запрос.Выполнить().Выбрать();
    
    Выборка.Следующий();            
    ПерваяСтавка = Выборка.СтавкаНДС;    
    
    ЗапросТЗ = Новый Запрос;
    МВТ = Новый МенеджерВременныхТаблиц;
    ЗапросТЗ.МенеджерВременныхТаблиц = МВТ;
    ТекстЗапросаТЗ = "ВЫБРАТЬ";
    Для Каждого Реквизит Из Документ.Ссылка.Метаданные().ТабличныеЧасти.Товары.Реквизиты Цикл
        ТекстЗапросаТЗ = ТекстЗапросаТЗ + "
                    |    ТЗ."+СтрЗаменить(Реквизит," ","")+",";
    КонецЦикла;                
        ТекстЗапросаТЗ = Лев(ТекстЗапросаТЗ,СтрДлина(ТекстЗапросаТЗ)-1);
        ТекстЗапросаТЗ = ТекстЗапросаТЗ + "
                    |ПОМЕСТИТЬ ВТ
                    |ИЗ
                    |    &ТаблицаТовары КАК ТЗ
                    |ГДЕ
                    |    ТЗ.Номенклатура.СтавкаНДС = &СтавкаНДС";
    
    Пока Выборка.Следующий() Цикл
        
        ЗапросТЗ.Текст = ТекстЗапросаТЗ;
        ЗапросТЗ.УстановитьПараметр("ТаблицаТовары", ТаблицаТовары);
        ЗапросТЗ.УстановитьПараметр("СтавкаНДС", Выборка.СтавкаНДС);
        ЗапросТЗ.Выполнить();    // ЗДЕСЬ ОСТАНАВЛИВАЕТСЯ С ОШИБКОЙ (текст ошибки ниже)
        
        ЗапросТЗ.Текст = "ВЫБРАТЬ * ИЗ ВТ";
        ТаблицаДляВыделения = ЗапросТЗ.Выполнить().Выгрузить();
<...>


Ошибка:
Цитата
Ошибка при вызове метода контекста (Выполнить)
ЗапросТЗ.Выполнить();
по причине:
{(29, 2)}: Поле не найдено "ТЗ.Номенклатура.СтавкаНДС"
<<?>>ТЗ.Номенклатура.СтавкаНДС = &СтавкаНДС


Если убрать "ГДЕ" то отрабатывает правильно. Названия реквизитов проверил.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Ardi Подменю пользователя
сообщение 25.05.12, 13:43
Сообщение #24

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(logist @ 25.05.12, 14:31) *
Если убрать "ГДЕ" то отрабатывает правильно. Названия реквизитов проверил.

Убрать где.
Тоесть запрос выполняем только один раз-дополняя ТЗ новой колонкой.
А потом уже работаем с этой новой тз.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Спасибо сказали: logist,

logist Подменю пользователя
сообщение 25.05.12, 13:52
Сообщение #25

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Вообщем вот что, убрал ГДЕ из первого запроса, и вставил во второй, т.е.
        ЗапросТЗ.Текст = "ВЫБРАТЬ * ИЗ ВТ";

заменил на
        ЗапросТЗ.Текст = "ВЫБРАТЬ * ИЗ ВТ ГДЕ ВТ.Номенклатура.СтавкаНДС = &СтавкаНДС";



Всё отлично! Всем спасибо за помощь!


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Margo2013 Подменю пользователя
сообщение 28.05.12, 17:12
Сообщение #26

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Всем привет!

У меня восьмерка 8.1 опыт не очень, но стараюсь. Делала фирме один отчетик, там надо запросом выбрать много данных, поместить в табл значений и в ней в некоторых строках посчитать четрые колонки.

строки я искала по текстовой колонке ТЗ.Найти (тек_имя_фирмы, "КороткоеНаименование") и потом расчитваю.

строк 80 тыщ, жутко долго ищет. чем можно заменить или ускорить?

Ardi Подменю пользователя
сообщение 28.05.12, 17:23
Сообщение #27

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Margo2013
80 тыщ. раз в цикле вызывается "Найти"?
Я правильно понял?


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Vofka Подменю пользователя
сообщение 28.05.12, 18:57
Сообщение #28

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 14050
Из: Киев
Спасибо сказали: 4612 раз
Рейтинг: 3748.8

Margo2013, какого лешего в этой теме пишем, совсем уже?! Лишаетесь прав писать сообщения на сутки! Тема закрыта.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Тема закрыта Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 21:43
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!