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

Хранилище

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

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



> Проблемы с запросом          
Powerman Подменю пользователя
сообщение 28.06.12, 11:00
Сообщение #1

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

В общем ситуация такая …

Была поставлена задача сделать в подвале формы документа группировку по единицам номенклатуры, т.е. в табличной части документа набивается часть номенклатуры с единицей килограммы (5 кг в одной строке, 15 кг в другой, 3 кг в третьей), часть номенклатуры в тоннах (7 т в одной строке, 10 т в другой, 3 т в третьей), и т.д.

В подвале формы документа должно отображаться: кг – 23, т – 20, …

Я сделал запрос с последующей обработкой и разместил в процедуре ОбновитьПодвал() модуля формы.

Вопрос заключается в том что группировка (запрос) в файловой версии работает отлично, а файл-серверной (MySQL ) часть группируется номенклатуры а часть нет (в приведенням выше примере получается примерно такое… кг – 15, кг – 8, т – 10, т – 10, …)

Возможно, я что то в коде не правильно написал или связанно с проблеммой описанной в статье «Особенности использования предложения СГРУППИРОВАТЬ ПО» на этом форуме.

1С: Предприятие 8.2, конфа "Управление торговым предприятием для Украины", редакция 1.2.

Код ниже…

Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
       |    СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
       |    СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма
       |ИЗ
       |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
       |ГДЕ
       |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
       |
       |СГРУППИРОВАТЬ ПО
       |    РеализацияТоваровУслугТовары.ЕдиницаИзмерения";
      
       Запрос.УстановитьПараметр("Ссылка",Ссылка);
      
       Результат = Запрос.Выполнить();
      
       ВыборкаДетальныеЗаписи = Результат.Выбрать();
       ИтогЕд = "";
      
       Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
           Единица = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения;
           Количество = ВыборкаДетальныеЗаписи.Количество;
           Сумма = ВыборкаДетальныеЗаписи.Сумма;
           ИтогЕд = ИтогЕд + " (Ед. - " + Строка(Единица) + " ___ Кол. - " + Строка(Количество) + ")           ";    
       КонецЦикла;
      
       ЭлементыФормы.НадписьИтогЕд.Заголовок = "Итог по ед.: ";
       ЭлементыФормы.ИтогЕд.Значение = ИтогЕд;




Вывод по сумне оказался не нужен, я его позже уберу…





awp Подменю пользователя
сообщение 28.06.12, 14:31
Сообщение #2

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

1. ПРОФИЛАКТИКА : Проверьте справочник "ЕдиницыИзмерения". Предполагаю что у Вас куча записей с кг. и т.
2. РЕШЕНИЕ : Вместо "
РеализацияТоваровУслугТовары.ЕдиницаИзмерения
" писать "
РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование
"
Программист существо ленивое - я бы использовал метод "Свернуть" - меньше кода smile.gif



Signature
Бухгалтер - это не профессия! Это диагноз!

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

logist Подменю пользователя
сообщение 28.06.12, 14:37
Сообщение #3

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

Цитата(awp @ 28.06.12, 15:31) *
" писать "

РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование

"

а лучше
РеализацияТоваровУслугТовары.ЕдиницаИзмерения.ЕдиницаПоКлассификатору


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

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

Powerman Подменю пользователя
сообщение 02.07.12, 8:15
Сообщение #4

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

Спасибо awp и logist !

Заработало всё как положено с РеализацияТоваровУслугТовары.ЕдиницаИзмерения.ЕдиницаПоКлассификатору и также всё работает если прописывать РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Наименование.

Попробовал по совету awp реализовать всё это мероприятие с помощью метода "Свернуть", (так даже лучше, так как не нужно сохранять документ для получения актуальных данных при добавлении номенклатуры) вроде работает, но точно также как описано в моём первом сообщении. Куда прописать РеализацияТоваровУслугТовары.ЕдиницаИзмерения.ЕдиницаПоКлассификатору не пойму, подскажите пожалуйста.



Код ниже…

ТаблицаТоваров =Товары.Выгрузить(,"ЕдиницаИзмерения,Количество");

ТаблицаТоваров.Свернуть("ЕдиницаИзмерения","Количество");

Для Каждого Строка Из ТаблицаТоваров Цикл

      ИтогЕд = ИтогЕд + " Ед. - " + Строка(Строка.ЕдиницаИзмерения)+ ",  Кол. - " +Строка(Строка.Количество) + "     ";

КонецЦикла;



Сообщение отредактировал Batchir - 02.07.12, 10:53

Vofka Подменю пользователя
сообщение 02.07.12, 8:29
Сообщение #5

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

Powerman, на будущее: не дублируйте посты!

Сообщение отредактировал pablo - 02.07.12, 9:19
Причина редактирования: Поправил орфографию

Powerman Подменю пользователя
сообщение 02.07.12, 8:38
Сообщение #6

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

Цитата(Vofka @ 02.07.12, 9:29) *
Powerman, на будущее: не дублируйте посты!

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

Сообщение отредактировал pablo - 02.07.12, 9:19
Причина редактирования: см. выше

Powerman Подменю пользователя
сообщение 02.07.12, 10:46
Сообщение #7

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

Очень жду подсказку. upset.gif

Спасибо.


Powerman Подменю пользователя
сообщение 03.07.12, 9:07
Сообщение #8

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

Цитата(Powerman @ 02.07.12, 11:46) *
Очень жду подсказку. upset.gif

Спасибо.


help.gif

Vofka Подменю пользователя
сообщение 03.07.12, 9:09
Сообщение #9

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

Сформулируйте ещё раз вопрос, только внятно.

Powerman Подменю пользователя
сообщение 03.07.12, 11:47
Сообщение #10

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

Цитата(Vofka @ 03.07.12, 10:09) *
Сформулируйте ещё раз вопрос, только внятно.

Попробовал реализовать в подвале формы документа группировку по единицам номенклатуры с помощью метода "Свернуть", вроде работает, но точно также как описано в моём первом сообщении, т.е. ошибки группировки возможно из-за того что в справочнике "ЕдиницыИзмерения" куча записей с кг. и т.

Для того что бы обойти эту проблему необходимо сворачивать по ЕдиницаИзмерения.ЕдиницаПоКлассификатору. Куда добавить ЕдиницаПоКлассификатору не пойму.

Мой (возможно не правильный) код ниже.


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

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

Цитата(Powerman @ 03.07.12, 12:47) *
необходимо сворачивать по ЕдиницаИзмерения.ЕдиницаПоКлассификатору

Значит добавить в ТЗ колонку ЕдиницаПоКлассификатору и сворачивать по нему.

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


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

 

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