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

1С:Предприятие :: 1С:Предприятие 8 общая

Отмена проведения документа

Отмена проведения документа
Я
   admin1s
 
09.04.18 - 13:15
Добрый день, только начинаю осваивать программирование в 1С 8.3, есть задача-найти и распровести документ ЧекНаОплату. Нашел в гугле несколько вариантов решения, но не работают, да и хочется разобраться, дойти до сути что ли.. Понимаю что лучше через запрос.
 
 
   Lexey_
 
1 - 09.04.18 - 13:33
(0) ну не знаю, у меня всё работает
   Cyberhawk
 
2 - 09.04.18 - 13:35
Бывает, держись там
   Гипервизор
 
3 - 09.04.18 - 13:36
(0) Рассказывайте как делали, что за нерабочие варианты.
   Cool_Profi
 
4 - 09.04.18 - 13:49
Погуглил, но так и не понял смысл вопроса...
   oslokot
 
5 - 09.04.18 - 13:56
(4) скорей всего он вот что хочет:

запросом найти док, получить его объект и записать его с режимом записи "отмена проведения"
   Масянька
 
6 - 09.04.18 - 14:19
(5) И что потом делать с кассой (которая онлайн)?
(0) правильно поставленная задача содержит половину решения (С)
Пиши всю задачу...
   admin1s
 
7 - 10.04.18 - 13:47
(6) насчет кассы все верно, делать распроведение не будем, но обработку доделать хочется так для себя

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

Ругается: Процедура или функция с указанным именем не определена (Записать)
            <<?>>Записать(РежимЗаписиДокумента.ОтменаПроведения);
   catena
 
8 - 10.04.18 - 13:51
(7)Если для себя, то нужно себя спросить, почему когда проверяешь Проведен, говоришь, кого проверяешь. А когда записываешь, надеешься, что адинэс сама придумает, кого и куда записывать?
   Cool_Profi
 
9 - 10.04.18 - 13:52
(7) Главное - никогда не указывает объект, которому метод зовёшь.
Никогда, это плохой тон, пусть система сама прокачивает навыки телепатии
   admin1s
 
10 - 10.04.18 - 14:07
(8) > почему когда проверяешь Проведен, говоришь, кого проверяешь - как сделать правильно, так?

Если Объект.Проведен =1 Тогда

(9) >Главное - никогда не указывает объект, которому метод зовёшь. -?
 
 Рекламное место пустует
   Cool_Profi
 
11 - 10.04.18 - 14:08
(10)
           Сообщить("Документ проведен!");
            Записать(РежимЗаписиДокумента.ОтменаПроведения);    
            Сообщить("Документ распроведен!");
 
Кого записываешь-то?
   Масянька
 
12 - 10.04.18 - 14:13
(10) А там нету Пробит? Реквизит.
   Малыш Джон
 
13 - 10.04.18 - 14:14
(10) Напиши

Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
   admin1s
 
14 - 10.04.18 - 14:43
(13) Спасибо, код без ошибок

Подскажите еще такой вариант, нужно при открытии заполнить например Дату, делаю так, но понимаю что не верно:

Процедура ПриОткрытии()
    Форма = ЭлементыФормы.ПолеВвода;
        Форма.НачДата = '04.04.2018'; 
    Форма.КонДата = '05.04.2018'; 
КонецПроцедуры
   Evgenchik
 
15 - 10.04.18 - 14:48
объект.Дата = Дата('20180101');

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