Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
21 Ноя 2017, 01:46
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как создать запрос из созданной обработки к справочнику Номенклатура  (Прочитано 877 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн modoll

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-08
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, всем. Ищу помощи у знающих людей. Создала обработку, которая из документа Excel загружает в "себя" данные (реквизиты). Застопорилась на следующем этапе: надо сравнить данные из обработки и справочника. Номенклатура по полю штрихкод или PLU и записать в обработку найденные совпадения (т.е. в обработке из Excel загрузились данные о штрихкодах и PLU и надо чтобы по нажатию кнопки Проверить и неё добавились данные о названии товара из справочника.Номеклатура). Помогите!!!!

https://drive.google.com/open?id=0BzHzLYChPnXQWW9hYmtYZDhuSlk


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
данные из файла вы получаете в таблицу значений. далее пишете запрос, куда в качестве параметра передадите полученную таблицу значений и соедините ее со справочником номенклатура по указанным вами правилам - либо по ШК либо по PLU

Оффлайн modoll

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-08
  • Сайт: 
  • Профессия: Ученик 1С
данные из файла вы получаете в таблицу значений. далее пишете запрос, куда в качестве параметра передадите полученную таблицу значений и соедините ее со справочником номенклатура по указанным вами правилам - либо по ШК либо по PLU


а можно более подробно: куда залазить и что делать?????

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
подробнее лучше почитать в книге...
я могу просто дать пример кода
Добавлено: 10 Июн 2016, 10:57

вот вам реальный пример из рабочей базы (автор кода - я :))

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

Запрос.УстановитьПараметр("ТабличнаяЧасть", ТабличнаяЧасть);
Запрос.УстановитьПараметр("Ссылка", ДокументКорректировки.Ссылка);

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Добавлено: 10 Июн 2016, 10:59

ну и буквально в 2-ух словах комментарий к запросу: запрос составной, в первой части создается виртуальная таблица - в ней переданная параметром таблица значений.
дальше в вашем случае будет второй запрос, где к ранее созданной виртуальной таблице слева присоединяется реальная таблица справочника номенклатура

Оффлайн modoll

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-08
  • Сайт: 
  • Профессия: Ученик 1С
процедура добавляет данные в графу Номенклатура, но удаляет все остальные данные из других граф, как это исправить?????


Процедура КоманднаяПанель2Проверить(Кнопка)
   
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("Тов",Товары.Выгрузить());
    Запрос.Текст = "ВЫБРАТЬ
                   |    Тов.Plu
                   |ПОМЕСТИТЬ ВрТабл
                   |ИЗ
                   |    &Тов КАК Тов
                   |;
                   |
                   ////////////////////////////////////////////////////////////////////////////////

                   |ВЫБРАТЬ
                   |    ВложенныйЗапрос.Номенклатура,
                   |    ВложенныйЗапрос.Код
                   |ИЗ
                   |    ВрТабл КАК ВрТабл
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   |            КодыТоваровPLU.Номенклатура КАК Номенклатура,
                   |            КодыТоваровPLU.Код КАК Код
                   |        ИЗ
                   |            РегистрСведений.КодыТоваровPLU КАК КодыТоваровPLU) КАК ВложенныйЗапрос
                   |        ПО ВрТабл.Plu = ВложенныйЗапрос.Код";
       
   
      Товары.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры

Оффлайн LexaK

  • *****
  • Сообщений: 1265
  • РЕПУТАЦИЯ: 346
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
самый тупой, жутко не оптимальный метод, но должен сработать B)

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Тов",Товары.Выгрузить());
    Запрос.Текст = "ВЫБРАТЬ
                   |    Тов.* //все поля таблицы
                   |ПОМЕСТИТЬ ВрТабл
                   |ИЗ
                   |    &Тов КАК Тов
                   |;
                   |
                   |ВЫБРАТЬ
                   |    Рег.Номенклатура,
                   |    ВрТабл.*
                   |ИЗ
                   |    ВрТабл КАК ВрТабл
                   |левое СОЕДИНЕНИЕ РегистрСведений.КодыТоваровPLU КАК Рег
                   |    ПО ВрТабл.Plu = Рег.Код
                   |";
       
   
      Товары.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры



попробуйте, напишите потом получилось? :)
Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9159
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

Автор БерезинРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2934
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 949
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

Автор DenielAkreedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 644
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

Автор bolobolРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 16297
Последний ответ 02 Сен 2011, 01:14
от bolobol

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
144 Сообщений
MuI_I_Ika MuI_I_Ika
99 Сообщений
oleg-x
69 Сообщений
alex0402
62 Сообщений
ilyay ilyay
53 Сообщений
Dmitry Qwe Dmitry Qwe
32 Сообщений
Sy4a
22 Сообщений
Dima Dddd Dima Dddd
21 Сообщений
BuhRust
19 Сообщений
Kironten
12 Сообщений

* Кто онлайн

  • Точка Гостей: 287
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal