Вход | Регистрация
 

Как сделать запросом проверку номенклатуры в источнике? Очень нужна помощь.

Как сделать запросом проверку номенклатуры в источнике? Очень нужна помощь.
Я
   Shecurok
 
30.04.19 - 16:47
Добрый день всем.
Начну немного с себя: стажируюсь в одной компании (1,5 мес.), в 1с только вникаю. Пытаюсь вот разобраться.
Проблема в следующем: необходимо в документе ПередачаМатериалаВЭксплуатацию (БП3.0) у одного типа номенклатуры поменять СчетДт в зависимости от его доп. сведений (в доп сведениях у номенклатуры (не всей естественно) стоит СчетМЦ05 Истина).
Делаю через ПодпискуНаСобытия. Источником указал документ сам (ПередачаМатериалаВЭксплуатацию), событие ОбработкаПроведения, обработчиком созданный модуль.
Мне надо как то запросом сделать проверку есть ли в Источнике (это сам документ получается) такая номенклатура, у которой в доп.сведениях стоит СчетМЦ05.
Я не могу понять код этого запроса. Дальше думаю уже будет не сложно.
Помощь правда нужна, без необходимости не обращался бы.
 
 
   lodger
 
1 - 30.04.19 - 16:52
а шо там непонятного?
вот у тебя есть Источник в событии. это вроде как документобъект
в этом источнике есть ТЧ с номенклатурой. ее надо выгрузить для запроса допсведений (они ведь в регистре сведений живут?).
обрабатываешь результат запроса, ищешь в движениях указанные позиции и подменяешь счет назначения.
   Shecurok
 
2 - 30.04.19 - 16:53
(1) Я не знаю каким кодом это сделать :с
   Nyoko
 
3 - 30.04.19 - 16:53
"ВЫБРАТЬ
|    ПередачаМатериаловВЭксплуатациюСпецодежда.Номенклатура
|ПОМЕСТИТЬ Материалы
|ИЗ
|    Документ.ПередачаМатериаловВЭксплуатацию.Спецодежда КАК ПередачаМатериаловВЭксплуатациюСпецодежда
|ГДЕ
|    ПередачаМатериаловВЭксплуатациюСпецодежда.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    ПередачаМатериаловВЭксплуатациюСпецоснастка.Номенклатура
|ИЗ
|    Документ.ПередачаМатериаловВЭксплуатацию.Спецоснастка КАК ПередачаМатериаловВЭксплуатациюСпецоснастка
|ГДЕ
|    ПередачаМатериаловВЭксплуатациюСпецоснастка.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Номенклатура
|ИЗ
|    Документ.ПередачаМатериаловВЭксплуатацию.ИнвентарьИХозяйственныеПринадлежности КАК ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности
|ГДЕ
|    ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Ссылка = &Ссылка
|;
|
////////////////////////////////////////////////////////////////////////////////

|ВЫБРАТЬ
|    Материалы.Номенклатура
|ИЗ
|    Материалы КАК Материалы
|ГДЕ
|    Материалы.Номенклатура.ДополнительныеРеквизиты.Значение = &СчетМЦ05"
   Shecurok
 
4 - 30.04.19 - 16:55
(3) Это правда круто, что написали. Очень круто. Но вот такие ошибки вылезли:
{ОбщийМодуль.СчетМЦ05.Модуль(4,3)}: Неопознанный оператор
     <<?>>"ВЫБРАТЬ (Проверка: Сервер)
{ОбщийМодуль.СчетМЦ05.Модуль(38,70)}: Обнаружено логическое завершение исходного текста модуля
|    Материалы.Номенклатура.ДополнительныеРеквизиты.Значение = &МЦ.05<<?>> (Проверка: Сервер)
   Shecurok
 
5 - 30.04.19 - 16:58
(3) Тут уже я туплю. Запрос же надо добавить
   Shecurok
 
6 - 30.04.19 - 17:01
(3) Не помогает. Все так же после проведения стоит МЦ04
   lodger
 
7 - 30.04.19 - 17:02
(6) результат запроса то как обработал?
   Shecurok
 
8 - 30.04.19 - 17:05
(7)     Результат=Запрос.Выполнить();

Нет?
   Shecurok
 
9 - 30.04.19 - 17:08
(7) Немного схитрил. Пока Вы не напомнили мне об этом не было у меня данной команды. После поставил и стала ошибка:

Не задано значение параметра "Ссылка"
ПередачаМатериаловВЭксплуатациюСпецодежда.Ссылка = <<?>>&Ссылка
   hhhh
 
10 - 30.04.19 - 17:30
(9) напоминаем, перед Запрос.Выполнить()   задай значения всех параметров.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.