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

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

Как сделать запросом проверку номенклатуры в источнике? Очень нужна помощь.
Я
   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 или кнопку "Обновить" в браузере.