|
Не встает нужная проводка (через Запрос через Подписку на события) | ☑ | ||
---|---|---|---|---|
0
Shecurok
06.05.19
✎
10:53
|
Привет всем. Суть в том, что необходимо в документе ПередачаМатериалаВЭксплуатацию (БП3.0) у одного типа номенклатуры поменять СчетДт в зависимости от его доп. сведений (в доп сведениях у номенклатуры (не всей естественно) стоит СчетМЦ05 Да (Истина).
Делаю через ПодпискуНаСобытия. Источником указал документ сам (ПередачаМатериалаВЭксплуатацию), событие ОбработкаПроведения, обработчиком созданный модуль. Мне надо как то запросом сделать проверку есть ли в Источнике (это сам документ получается) такая номенклатура, у которой в доп.сведениях стоит СчетМЦ05. Делаю следющим образом: делаю запрос на источник, если там есть в доп. реквизитах этот счет МЦ05, тогда СчётМЦ05. Код следующий: Процедура СчетМЦ05ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПередачаМатериаловВЭксплуатациюСпецодежда.Номенклатура |ПОМЕСТИТЬ Материалы | |ВЫБРАТЬ | ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Номенклатура |ИЗ | Документ.ПередачаМатериаловВЭксплуатацию.ИнвентарьИХозяйственныеПринадлежности КАК ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности |ГДЕ | ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Ссылка = &Ссылка |; | |ВЫБРАТЬ | Материалы.Номенклатура |ИЗ | Материалы КАК Материалы |ГДЕ | Материалы.Номенклатура.ДополнительныеРеквизиты.Значение = &СчетМЦ05"; Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка); Запрос.УстановитьПараметр("Имя", "СчетМЦ05"); Запрос.УстановитьПараметр("СчетМЦ05",ПланыСчетов.Хозрасчетный.НайтиПоНаименованию("МЦ.05")); Выбор = Запрос.Выполнить().Выбрать(); Пока Выбор.Следующий() Цикл Для Каждого ТекДвижение ИЗ Источник.Движения.Хозрасчетный Цикл Если ТекДвижение.СчетДт = ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации И ТекДвижение.СубконтоДт.Номенклатура = Выбор.Номенклатура Тогда ТекДвижение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоНаименованию("СчетМЦ05"); Источник.Движения.Хозрасчетный.Записать(); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры Пробовал также следующий текст запроса: "ВЫБРАТЬ // | ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Номенклатура КАК Номенклатура // |ИЗ // | Документ.ПередачаМатериаловВЭксплуатацию.ИнвентарьИХозяйственныеПринадлежности КАК ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности // | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты // | ПО ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка // |ГДЕ // | ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Ссылка = &Ссылка // | И НоменклатураДополнительныеРеквизиты.Свойство.Имя = &Имя // | // |СГРУППИРОВАТЬ ПО // | ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Номенклатура" ; //Запрос.УстановитьПараметр("Ссылка", Источник.Ссылка); //Запрос.УстановитьПараметр("Имя", "СчетМЦ05"); //имя у тебя может отличатся // //Выбор = Запрос.Выполнить().Выбрать(); Но не всатёт никак. Никаких ошибок, но и нужный счет не встаёт. Что не так? |
|||
1
Фрэнки
06.05.19
✎
11:04
|
зачем-то захламил текст заглавного сообщения темы каким-то кодом, который трудно читаем и не информативен, поскольку не сказано в какой конфигурации выполняется попытка решить возникшую проблему
|
|||
2
Shecurok
06.05.19
✎
11:12
|
(1) Как скрывать код под спойлером не знаю, извините.
|
|||
3
Фрэнки
06.05.19
✎
11:15
|
(2) дело не скрытии кода.
Проблема описана в полном соответствии с частой причиной для закрытия топиков: "заголовок темы не соответствует содержанию" |
|||
4
RomanYS
06.05.19
✎
11:22
|
(0) в тексте
"стоит СчетМЦ05 Да (Истина)" в запросе "Материалы.Номенклатура.ДополнительныеРеквизиты.Значение = &СчетМЦ05" Вы уж определитесь что у вас в реквизите. И да, условие на Материалы.Номенклатура.ДополнительныеРеквизиты.Значение - это ппц независимо от структур и хранимых типов |
|||
5
Shecurok
06.05.19
✎
11:25
|
(4) Так а второй текст запроса картины не меняет.
|
|||
6
shuhard
06.05.19
✎
11:27
|
(0) что-то мешает использовтаь коносоль запросов вместо форума ?
|
|||
7
ам794123
06.05.19
✎
11:29
|
(0) проводки в современных конфах делаются в фоне. Ваши подписки на события, скорее всего, затираются фоновыми заданиями. Попробуйте настроить счета учета номенклатуры штатными средствами.
|
|||
8
sqr4
06.05.19
✎
11:32
|
Сделай еще скин доп свойства
|
|||
9
sqr4
06.05.19
✎
11:34
|
Материалы.Номенклатура.ДополнительныеРеквизиты.Значение = &СчетМЦ05
вот это не рабочее условие |
|||
10
sqr4
06.05.19
✎
11:34
|
НоменклатураДополнительныеРеквизиты.Свойство.Имя = &Имя вот это рабочее условие, но есть вероятность, что ты путаешь имя с наименованием
|
|||
11
sqr4
06.05.19
✎
11:35
|
и собственно - (6)
|
|||
12
RomanYS
06.05.19
✎
11:39
|
(5) И? Очень интересна дальнейшая логика. Как от чего-то похожего на правду(возможно с ошибками) происходит переход к полной хрени оторванной от реальности?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |