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

Хранилище

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

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



> Нужна помощь в работе с запросами 5 страниц V  « < 2 3 4 5 >          
Vofka Подменю пользователя
сообщение 01.09.09, 14:20
Сообщение #61

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

Цитата
Что то вы мудрите ...
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор,
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
Регистратор


А у меня вообще регистратор не выбирается. Его даже в списке таблиц нету.


Цитата
тебя есть виртуальная таблица Партии.Остатки


Есть. Но там нету регистратора (партии)!

Fynjy Подменю пользователя
сообщение 01.09.09, 14:27
Сообщение #62

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Кнопка параметры виртуальных таблиц ...


Signature

Vofka Подменю пользователя
сообщение 01.09.09, 14:40
Сообщение #63

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

И что мне дает этот запрос?
Сделал так:

но не пойму как эти данные использовать 19000000.gif

ЗЫ. моск взорван icon_revenant7.gif

World1С Подменю пользователя
сообщение 01.09.09, 15:00
Сообщение #64

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Ну, говорил же что одним запросом все это сделать очень сложно, лучше работать с результатом запроса....


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

Vofka Подменю пользователя
сообщение 01.09.09, 15:36
Сообщение #65

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

Подробней можно?

Fynjy Подменю пользователя
сообщение 01.09.09, 16:02
Сообщение #66

Сенсей Чака Норриса
**********
За вредность
Группа: Пользователи
Сообщений: 1994
Из: Ахметов сити
Спасибо сказали: 333 раз
Рейтинг: 0

Списание по партиям
1. Получить список партий - запрос
2. Цикл пока списываемое количество > количества остатка партии
Все ...


Signature

World1С Подменю пользователя
сообщение 01.09.09, 16:09
Сообщение #67

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

+ 100 Fynjy

1.То что у тебя в результате запроса вставь в цикл
2.
Цикл пока списываемое количество > количества остатка партии

3. Внутри цикла делаем движения расход по регистру партии товара


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

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

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



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

Запрос.УстановитьПараметр("Момент", МоментВремени());
Запрос.УстановитьПараметр("ПарСсылка", Ссылка);
Запрос.УстановитьПараметр("Склад", Склад);

РезультатЗапроса = Запрос.Выполнить();
ВыборкаТоваров = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");

Пока ВыборкаТоваров.Следующий() Цикл
Остаток = ВыборкаТоваров.КолОст;
КолДок = ВыборкаТоваров.КолДок;
СуммаДок = ВыборкаТоваров.СуммаДок;

Нехватка = КолДок - Остаток;
Если Нехватка > 0 Тогда
Сообщить("Нехватка товара " + СокрЛП(ВыборкаТоваров.Номенклатура) + " на складе " + СокрЛП(Склад) + ": " + Нехватка);
Сообщить("Расходная накладная " + Номер + " от " + Дата + " не проводится!");
Отказ = Истина;
КонецЕсли;

НадоСписать = КолДок;
ВыборкаПартий = ВыборкаТоваров.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПартий.Следующий() Цикл
КолПартии = ВыборкаПартий.КолОст;
СуммаПартии = ВыборкаПартий.СуммаОст;
// вычисление количества списания и себестоимости
Если НадоСписать < КолПартии Тогда
// списываем часть партии
КоличествоСп = НадоСписать;
СебестоимостьСп = СуммаПартии / КолПартии * КоличествоСп;
НадоСписать = 0;
Иначе
КоличествоСп = КолПартии;
СебестоимостьСп = СуммаПартии;
НадоСписать = НадоСписать - КолПартии;
КонецЕсли;
// движения по регистру партий
Движение = Движения.Партии.ДобавитьРасход();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартий.Номенклатура;
Движение.Склад = Склад;
Движение.Партия = ВыборкаПартий.Партия;
Движение.Количество = КоличествоСп;
Движение.Сумма = СебестоимостьСп;
Если НадоСписать = 0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры


Примерно так будет работать.

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

вомбат Подменю пользователя
сообщение 01.09.09, 16:35
Сообщение #69

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

Чуть не забыл. Регистр партий нужно поправить - добавить измерение "Партия", ну и движения ПН тоже подправить.

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

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

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

ВОМБАТ, с добавлением к регистру партии нового измерения - я получил результат запроса какой хотел smile.gif



Но теперь я не знаю как мне его использовать sad.gif . Как знать, что в выборке я перешёл к следующему товару?

И по поводу конструкции "В", кто-то может на пальцах объяснить как она работает?

ЗЫ "Може я тупий?" (с) ТНМК

World1С Подменю пользователя
сообщение 02.09.09, 10:04
Сообщение #71

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Конструкция запроса "В" - В (Значение), где значение - > тип: Список значений, Результат запроса, Массив.


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

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

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

Цитата
Конструкция запроса "В" - В (Значение), где значение - > тип: Список значений, Результат запроса, Массив.


Т.е. если, например, Номенклатура В &СписокНоменклатуры, где СписокНоменклатуры = массв[товар1, товар2, товар3], то Номенклатура = массв[товар1, товар2, товар3] ?

World1С Подменю пользователя
сообщение 02.09.09, 10:38
Сообщение #73

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Пример
ВЫБРАТЬ
   Спр.Номенклатура КАК Товар
ИЗ
   Справочник.Номенклатура КАК Спр
ГДЕ
   Спр.Номенклатура В (&СписокЗначений)

Запрос.УстановитьПараметр("СписокЗначений", СписокЗначений)


Где СписокЗначений -> Товар1, Товар2, ....... Товар n

Результат такого запроса будет

Товар1 шт.
Товар2 шт.
........
Товар n шт.

За Массив точно не помню но помоему работает


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

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

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

А так запрос работать не будет:?



ВЫБРАТЬ
Спр.Номенклатура КАК Товар
ИЗ
Справочник.Номенклатура КАК Спр
ГДЕ
Спр.Номенклатура = &СписокЗначений

Запрос.УстановитьПараметр("СписокЗначений", СписокЗначений)

World1С Подменю пользователя
сообщение 02.09.09, 13:17
Сообщение #75

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Почему, будет работать если элемент списка будет иметь тип СправочникСсылка.Номенклатура


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

Vofka Подменю пользователя
сообщение 02.09.09, 14:39
Сообщение #76

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

Цитата
Почему, будет работать если элемент списка будет иметь тип СправочникСсылка.Номенклатура


и если в списке значений будет только 1 элемент?

Если мы знаем, что СписокЗначений -> Товар1, Товар2, то можно

ВЫБРАТЬ
   Спр.Номенклатура КАК Товар
ИЗ
   Справочник.Номенклатура КАК Спр
ГДЕ
   Спр.Номенклатура В (&СписокЗначений)

Запрос.УстановитьПараметр("СписокЗначений", СписокЗначений)


заменить на

ВЫБРАТЬ
   Спр.Номенклатура КАК Товар
ИЗ
   Справочник.Номенклатура КАК Спр
ГДЕ
   Спр.Номенклатура = товар1
   ИЛИ Спр.Номенклатура = товар2

Запрос.УстановитьПараметр("СписокЗначений", СписокЗначений)

World1С Подменю пользователя
сообщение 02.09.09, 14:45
Сообщение #77

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Только не или а союз "И"


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

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

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

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

Вроде немного разъяснилось... smile.gif Спасибо!

Но вопрос в посте №70 - ещё актуален smile.gif

World1С Подменю пользователя
сообщение 02.09.09, 15:19
Сообщение #79

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Напомни... happy.gif


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

Vofka Подменю пользователя
сообщение 02.09.09, 15:24
Сообщение #80

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

Елки-палки, на 9 постов выше этого
Цитата
ВОМБАТ, с добавлением к регистру партии нового измерения - я получил результат запроса какой хотел...

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


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

 

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