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

Хранилище

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

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



> Поле место хранение в печатной форме перемещения товаров          
r1p88@mail.ru Подменю пользователя
сообщение 09.12.15, 15:00
Сообщение #1

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

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

Ошибок никаких программа не выдаёт. Но печатная форма теперь пустая. И если смотреть отладчиком на "ВыборкаСтрокТовары", то выдаёт такое сообщение "ошибка чтения значений". Подскажите в чём может быть проблема? Что я не так делаю?

VikingKosmo Подменю пользователя
сообщение 09.12.15, 15:27
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 44
Из: Харьков
Спасибо сказали: 12 раз
Рейтинг: 0

Замените ВНУТРЕННЕЕ СОЕДИНЕНИЕ, на ЛЕВОЕ СОЕДИНЕНИЕ, потому что, не исключена ситуация, что у Вас нет данных в РС МестаХраненияНоменклатуры.

r1p88@mail.ru Подменю пользователя
сообщение 09.12.15, 15:56
Сообщение #3

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

Цитата(VikingKosmo @ 09.12.15, 15:27) *
Замените ВНУТРЕННЕЕ СОЕДИНЕНИЕ, на ЛЕВОЕ СОЕДИНЕНИЕ, потому что, не исключена ситуация, что у Вас нет данных в РС МестаХраненияНоменклатуры.


Посмотрел, в регистре сведений есть данные. Поменял на Левое соединение, теперь ругается на другое:

Если ПечатьМесто1 Тогда
            ОбластьМакета1 = Макет.ПолучитьОбласть("Строка|Место");
            ОбластьМакета1.Параметры.ПМесто = ПараметрыПозиции.Номенклатура.МестаХраненияНоменклатуры.МестоХранения;
            ТабДокумент.Присоединить(ОбластьМакета1);


{Документ.ПеремещениеТоваров.МодульОбъекта(501)}: Поле объекта не обнаружено (МестаХраненияНоменклатуры)
            ОбластьМакета1.Параметры.ПМесто = ПараметрыПозиции.Номенклатура.МестаХраненияНоменклатуры.МестоХранения;

sava1 Подменю пользователя
сообщение 09.12.15, 20:11
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(r1p88@mail.ru @ 09.12.15, 15:56) *
Посмотрел, в регистре сведений есть данные. Поменял на Левое соединение, теперь ругается на другое:Если ПечатьМесто1 Тогда
            ОбластьМакета1 = Макет.ПолучитьОбласть("Строка|Место");
            ОбластьМакета1.Параметры.ПМесто = ПараметрыПозиции.Номенклатура.МестаХраненияНоменклатуры.МестоХранения;

Так почему ищем местоХранения в спр.Номенклатура ?

Спасибо сказали: r1p88@mail.ru,

r1p88@mail.ru Подменю пользователя
сообщение 15.12.15, 9:50
Сообщение #5

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

Цитата(sava1 @ 09.12.15, 20:11) *
Так почему ищем местоХранения в спр.Номенклатура ?

спасибо за замечание. Исправил. Работает.

r1p88@mail.ru Подменю пользователя
сообщение 28.12.15, 12:03
Сообщение #6

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

Немного подыму тему. Решил тоже самое сделать в документе реализация товаров и услуг. В итоге получаю ошибку:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(234)}: Ошибка при вызове метода контекста (Выполнить)
    ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:
Разное количество полей в объединяемых запросах


Вот сам запрос:
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    НомерТЧ,
    |    НомерСтрокиТЧ,
    |    ВложенныйЗапросПоТоварам.Номенклатура КАК Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
    |    ВложенныйЗапросПоТоварам.Номенклатура.Код     КАК Код,
    |    ВложенныйЗапросПоТоварам.Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул,
    |    Количество,
    |    КоличествоМест,
    |    ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
    |    ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест,
    |    Цена,
    |    Сумма,
    |    СуммаНДС,
    |    ПроцентСкидкиНаценки КАК Скидка,
    |    ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка,
    |    ХарактеристикаНоменклатуры КАК Характеристика,
    |    СерияНоменклатуры КАК Серия,
    |   МестаХраненияНоменклатуры.МестоХранения КАК Ячейка
    |ИЗ
    |    (ВЫБРАТЬ
    |        1 КАК НомерТЧ,
    |        МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ,
    |        Номенклатура         КАК Номенклатура,
    |        ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
    |        ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
    |        Цена                 КАК Цена,
    |        СтавкаНДС            КАК СтавкаНДС,
    |        ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
    |        СерияНоменклатуры    КАК СерияНоменклатуры,
    |        ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        СУММА(Количество)    КАК Количество,
    |        СУММА(КоличествоМест)КАК КоличествоМест,
    |        СУММА(Сумма)         КАК Сумма,
    |        СУММА(СуммаНДС)      КАК СуммаНДС
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |    СГРУППИРОВАТЬ ПО
    |        Номенклатура,
    |        ЕдиницаИзмерения,
    |        ЕдиницаИзмеренияМест,
    |        Цена,
    |        СтавкаНДС,
    |        ПроцентСкидкиНаценки,
    |        ПроцентАвтоматическихСкидок,
    |        СерияНоменклатуры,
    |        ХарактеристикаНоменклатуры
    |    ) КАК ВложенныйЗапросПоТоварам
    |
    | ЛЕВОЕ СОЕДИНЕНИЕ  РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры
    |  ПО ВложенныйЗапросПоТоварам.Номенклатура = МестаХраненияНоменклатуры.Номенклатура
    |   ГДЕ
      // |    ВложенныйЗапросПоТоварам.Номенклатура = &Номенклатура
       |     МестаХраненияНоменклатуры.Склад = &Склад
    |    СГРУППИРОВАТЬ ПО
   |        ВложенныйЗапросПоТоварам.Номенклатура,
    |        ВложенныйЗапросПоТоварам.ЕдиницаИзмерения,
    |        ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест,
    |        ВложенныйЗапросПоТоварам.Цена,
    |    ВложенныйЗапросПоТоварам.СтавкаНДС,
    |    ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки,
    |    ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок,
    |        ВложенныйЗапросПоТоварам.СерияНоменклатуры,
    |    ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры,
    |   ВложенныйЗапросПоТоварам.Количество,
    |   ВложенныйЗапросПоТоварам.КоличествоМест,
    |    ВложенныйЗапросПоТоварам.Сумма,
    |    ВложенныйЗапросПоТоварам.СуммаНДС,
    |    ВложенныйЗапросПоТоварам.НомерСтрокиТЧ,
    |    ВложенныйЗапросПоТоварам.НомерТЧ,
    |    ВложенныйЗапросПоТоварам.Номенклатура.Код,
    |    ВложенныйЗапросПоТоварам.Номенклатура.Артикул,
    |    ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление,
    |       МестаХраненияНоменклатуры.МестоХранения,
    |   ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |   2,
    |   РеализацияТоваровУслуг.НомерСтроки,
    |    Номенклатура         КАК Номенклатура,
    |    Выразить(РеализацияТоваровУслуг.Содержание КАК Строка(100)),
    |    Номенклатура.Код     КАК Код,
    |    Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул,
    |    Количество,
    |    NULL,
    |    Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены,
    |    NULL,
    |    Цена,
    |    Сумма,
    |    СуммаНДС,
    |    ПроцентСкидкиНаценки,
    |    NULL,
    |    NULL    
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВложенныйЗапросПоТоварам.НомерТЧ, ВложенныйЗапросПоТоварам.НомерСтрокиТЧ
    |";
    
    Запрос.УстановитьПараметр("Склад", ЭтотОбъект.Склад);
    ЗапросТовары = Запрос.Выполнить().Выгрузить();

Может у меня со зрением плохо, но в упор не вижу, где разное количество полей?

Vofka Подменю пользователя
сообщение 28.12.15, 12:08
Сообщение #7

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

У вас в первом объединяемом запросе 15 полей, во втором 16.

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

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

В первом я насчитал 18 полей.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

r1p88@mail.ru Подменю пользователя
сообщение 28.12.15, 12:26
Сообщение #9

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

убрал один Null во втором объединяемом запросе. Та же фигня.

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

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

Petre @ Сегодня, 12:17 *,
то внешний запрос, который выбирает данные из вложенного (объединенного)

r1p88@mail.ru @ Сегодня, 12:26 *,
так гадать сложно, но видимо что-то не там убрали.

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


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

 

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