Имя: Пароль:
1C
1С v8
ввод документов поступления и реализации на основании элементов справочника «Контрагенты»
0 Dimon8822
 
20.04.22
07:37
Доброе Утро! Помогите разобраться с задачей:
"Необходимо обеспечить ввод документов поступления и реализации на основании элементов справочника «Контрагенты».
При этом нужно предусмотреть следующий алгоритм: при вводе на основании новый документ должен заполняться данными последнего проведённого документа по текущему контрагенту. "

Вроде задача совсем несложная, и при проверке с помощью консоли управления Результат запроса получаю верный, а в решении, указанном ниже, РезультатЗапроса получаем Null:

Объект.Наименование    "Альфа, ООО"    Строка
РезультатЗапроса
ТипЗначения    Приобретение товаров и услуг, Null    ОписаниеТипов

РЕШЕНИЕ:

&НаКлиенте
Процедура СозданиеНовогоДокументаПоступления(Команда, Элемент)
    СозданиеНовогоДокументаПоступленияНаСервере(Элемент);
КонецПроцедуры


&НаСервере
Процедура СозданиеНовогоДокументаПоступленияНаСервере(Элемент)
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    ПриобретениеТоваровИУслуг.Ссылка КАК Ссылка
        |ИЗ
        |    Документ.ПриобретениеТоваровИУслуг КАК ПриобретениеТоваровИУслуг
        |ГДЕ
        |    ПриобретениеТоваровИУслуг.Контрагент = &Контрагент
        |
        |УПОРЯДОЧИТЬ ПО
        |    ПриобретениеТоваровИУслуг.Дата УБЫВ";
    
    Запрос.УстановитьПараметр("Контрагент", Объект.Наименование);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НовыйДокумент =  ВыборкаДетальныеЗаписи.Ссылка.Скопировать() ;
    КонецЦикла;
    

КонецПроцедуры
1 VoditelKobyly
 
20.04.22
07:42
Вот в эту сторону посмотри: Запрос.УстановитьПараметр("Контрагент", Объект.Наименование);
2 VoditelKobyly
 
20.04.22
07:43
Типы не совпадают
3 Ненавижу 1С
 
гуру
20.04.22
07:57
последнего проведенного, ориентируясь на дату/время документа или на дату/время события проведения?
4 Kigo_Kigo
 
20.04.22
08:34
|ГДЕ
        |    ПриобретениеТоваровИУслуг.Контрагент = &Контрагент
|    ПриобретениеТоваровИУслуг.Проведен


Вот в эту сторону посмотри: Запрос.УстановитьПараметр("Контрагент", Объект.Ссылка);
5 Dimon8822
 
20.04.22
10:06
Вот в эту сторону посмотри: Запрос.УстановитьПараметр("Контрагент", Объект.Наименование);
Типы не совпадают

Табло:
Объект.Наименование  -  "Альфа, ООО"  -  Тип Строка

И КансольЗапросов данный тип устраивал
6 Йохохо
 
20.04.22
10:15
(5) не устраивал, просто консоль автоматом типизировала и предлагала выбор только правильного типа
7 nodrama
 
20.04.22
12:13
(0) Как вы в этой задачи будете отбирать последнию реализацию поступления? По дате создания документа?.. бухгалтер может сейчас создать реализацию 20.04.2022 с датой. А может после этого создать реализацию 19.04.2022 и по факту она будет последняя.. а по дате документа последняя будет 20.04.2022
А если на дату события, то бухгалтер может 3 раза перепровести предыдущий документ исправляя в нем ошибки, хотя по факту это будет не последняя реализация а пред последняя.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.