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

Хранилище

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

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



> Интеграция сайта с 1С. 2 страниц V  < 1 2          
berkut_0 Подменю пользователя
сообщение 06.10.17, 10:34
Сообщение #21

Общительный
**
Группа: Пользователи
Сообщений: 16
Из: Украина, Запорожье
Спасибо сказали: 0 раз
Рейтинг: 0

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


Собственно, код лепился из говна и палок с использованием помощи в интернете, разбором кода имеющихся (встроенных) обработчиков, ну и не без использования синтаксис-помощника.
Но то что есть - уже работает. И это хорошо.
Как достать недостающие данные ?
Прикрепил скриншоты того, что у меня происходит в 1С:

 ! 

Правила: 8
 


Модераторам, которые прикрепляют плашки с правилами:
1 - на форуме я не нашёл ничего вроде "Управление вложениями";
2 - лепить полноразмерные изображения (особенно по этому посту) будет слишком громоздко, ну или я что то не понимаю; с маленькими картинками ещё согласен ...
P. S. Правила читал.


Сообщение отредактировал logist - 09.10.17, 15:03

salton Подменю пользователя
сообщение 06.10.17, 15:05
Сообщение #22

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

Цитата(berkut_0 @ 06.10.17, 11:34) *
Как достать недостающие данные ?

Если под недостающими данными Вы имеете ввиду Количество и ПоследнююЦенуПродажи, то...
1. Если Количество - это остаток по регистру накопления ТоварыНаСкладах (или какой-то там в Альфа-Авто)
2. Последюю цену продажи нужно искать в регистре накопления продажи или если есть то в регистре сведений ЦеныНоменклатуры

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

berkut_0 Подменю пользователя
сообщение 06.10.17, 16:21
Сообщение #23

Общительный
**
Группа: Пользователи
Сообщений: 16
Из: Украина, Запорожье
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(salton @ 06.10.17, 16:05) *
это остаток по регистру накопления ТоварыНаСкладах

Да, я накопал РегистрыНакопления.ОстаткиТоваровКомпании.Остатки();
Это таблица значений, первая колонка которой - Ссылки на конкретную номенклатуру, а третья колонка - нужное мне количество.
Но оттуда мне приходят все остатки всех товаров по всей номенклатуре.

Как выполнить выборку только тех остатков, которые входят в ту же группу номенклатуры ?
В этой функции есть параметр "Отбор", попытался по синтаксис-помощнику заполнить - ошибка контекста. Попытался соорудить собственный запрос - ошибка что то типа результат хранить можно только во временной таблице.

Изначально я искал нужный мне код номенклатуры (сравнение строк), но это уже выполняется заметно долго.
Сейчас я выполняю поиск нужной номенклатуры (сравнение ссылок) - вроде работает быстрее, но всё равно - это не правильно ...
Предполагается, что можно выполнить изначальный отсев по группе номенклатуры (как я писал выше), или можно как то забрать данные по конкретной номенклатуре. Ни то ни другое я сделать не могу ввиду нехватки знаний и примеров 09000000.gif blink.gif crazy.gif

salton Подменю пользователя
сообщение 06.10.17, 16:27
Сообщение #24

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

berkut_0 @ Сегодня, 16:57 * ,
Отбирать нужно прямо в запросе:

ВЫБРАТЬ
    СпрНоменклатура.Наименование,
    ОстаткиТоваровКомпании.КоличествоОстаток
ИЗ
    РегистрНакопления.ОстаткиТоваровКомпании.Остатки КАК ОстаткиТоваровКомпании
        ЛЕВОЕ СОЕДИНЕНИЕ СпрНоменклатура.Номенклатура КАК Номенклатура
        ПО ОстаткиТоваровКомпании.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
    СпрНоменклатура.ЭтоГруппа = Ложь
    И СпрНоменклатура.ПометкаУдаления = Ложь
    И СпрНоменклатура.ВидНоменклатуры НЕ В(&ВидНоменклатуры)


ЛЕВОЕ СОЕДИНЕНИЕ - объединяет две таблицы запроса.
Первая Номенклатура, вторая - Остатки.
При объединении берутся остатки только по номенклатуре которая есть в первой таблице.

Если что не ясно - можно глянуть в интернете по поводу Объединения - главное направление поиска есть )

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

berkut_0 Подменю пользователя
сообщение 06.10.17, 16:48
Сообщение #25

Общительный
**
Группа: Пользователи
Сообщений: 16
Из: Украина, Запорожье
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(salton @ 06.10.17, 17:27) *
Отбирать нужно прямо в запросе

Я прошу прощения, но мне не понятно в вашем запросе, где выполняется отбор по группе/конкретно заданной номенклатуре ...
Я написал этот запрос - мне написало мол "Не найдена таблица" в строке с левым соединением. Может я неправильно передаю (или вовсе не передаю) туда ту таблицу, которая у меня после моего первого запроса ?

salton Подменю пользователя
сообщение 06.10.17, 16:56
Сообщение #26

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

Цитата(berkut_0 @ 06.10.17, 17:48) *
но мне не понятно в вашем запросе, где выполняется отбор по группе/конкретно заданной номенклатуре ...

нигде...

чтобы отбирало по группе нужно:

СпрНоменклатура.Ссылка В ИЕРАРХИИ(&Группа)


В данном примере будут получены все записи справочника Номенклатура, находящиеся в группе &Группа, включая ее саму, ее подчиненные группы и элементы, принадлежащие подчиненным группам.


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

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

Цитата(berkut_0 @ 06.10.17, 11:34) *
1 - на форуме я не нашёл ничего вроде "Управление вложениями";

В темах где они нужны (это разделы Хранилища) - они есть.

Цитата(berkut_0 @ 06.10.17, 11:34) *
2 - лепить полноразмерные изображения (особенно по этому посту) будет слишком громоздко, ну или я что то не понимаю; с маленькими картинками ещё согласен ...

Форуму не один год, и если мы решили что вставлять изображения так - это нормально, значит так и надо делать.


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

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


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

 

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