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

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

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

Оффлайн modoll

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

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


Оффлайн mixqn

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

Оффлайн modoll

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


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

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1345
  • РЕПУТАЦИЯ: 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

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

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



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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

* Последние вакансии

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
81 Сообщений
wise wise
63 Сообщений
MuI_I_Ika MuI_I_Ika
49 Сообщений
Dethmontt Dethmontt
49 Сообщений
alex0402
43 Сообщений
Сергей Федоров Сергей Федоров
32 Сообщений
ilyay ilyay
27 Сообщений
ilnur75
25 Сообщений
Дмитрий Медведков
19 Сообщений
DmitriyF DmitriyF
17 Сообщений

* Кто онлайн

  • Точка Гостей: 353
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal