Имя: Пароль:
1C
1С v8
Подскажите что нужно исправить
0 alexs-safin
 
04.11.15
22:52
Есть обработка для установки (дописанной) характеристики номенклатуры (установить архивный), нужно сделать проверку по регистру сведений, если есть номенклатура в номенклатуре контрагентов то заполнить, если в регистре нету такой номенклатуры то игнорировать



Процедура ЗаполнитьПоОстаткам() Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СпрНом.Ссылка КАК Номенклатура,
    |    СпрНом.Архивный КАК ТекущееЗначениеАрхивный,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
    |    ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК Резерв,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК СвободныйОстаток,
    |    ВЫБОР
    |        КОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) > 0
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК НовоеЗначениеАрхивный,
    |    ВЫБОР
    |        КОГДА ВЫБОР
    |                КОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) > 0
    |                    ТОГДА ЛОЖЬ
    |                ИНАЧЕ ИСТИНА
    |            КОНЕЦ = СпрНом.Архивный
    |            ТОГДА ЛОЖЬ
    |        ИНАЧЕ ИСТИНА
    |    КОНЕЦ КАК Пометка
    |ИЗ
    |    Справочник.Номенклатура КАК СпрНом
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыНаСкладахОстатки
    |        ПО СпрНом.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
    |        ПО СпрНом.Ссылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
    |ГДЕ
    |    НЕ СпрНом.ПометкаУдаления
    |    И НЕ СпрНом.Услуга
    |    И НЕ СпрНом.Набор
    |    И НЕ СпрНом.ЭтоГруппа
    |
    |УПОРЯДОЧИТЬ ПО
    |    СпрНом.Наименование";
    
    Запрос.УстановитьПараметр("ДатаКон",КонецДня(ДатаОстатков)+1);
    Товары.Загрузить(Запрос.Выполнить().Выгрузить());
    
КонецПроцедуры
1 vde69
 
04.11.15
22:57
соединение с регистром сделай
2 alexs-safin
 
05.11.15
00:28
А подробней можно? я пользователь никак не получается.
3 Чайник Рассела
 
05.11.15
00:39
(2) раз пользователь, то пригласите специалиста.
4 alexs-safin
 
05.11.15
01:07
две строчки написать?
5 Записьдампа
 
05.11.15
01:14
Ну, если есть понимание, что это две строчки, то, думаю, написать их вам труда не составит. Там же все просто!
6 alexs-safin
 
05.11.15
11:45
Даже одна строчка!

(|И СпрНом.Ссылка  В (Выбрать Спр.Номенклатура из регистрСведений.НоменклатураКонтрагентов как Спр))

Без копейки палец на кнопку не жмется!?

Чем тут писать дифирамбы, написали бы правильный ответ, меньше текста писать пришлось бы )))
7 MrKartez
 
05.11.15
11:46
(6) Надо начать с того, что тебе тут никто ничего не должен