|
Отмена проведения документа | ☑ | ||
---|---|---|---|---|
0
admin1s
09.04.18
✎
13:15
|
Добрый день, только начинаю осваивать программирование в 1С 8.3, есть задача-найти и распровести документ ЧекНаОплату. Нашел в гугле несколько вариантов решения, но не работают, да и хочется разобраться, дойти до сути что ли.. Понимаю что лучше через запрос.
|
|||
1
Lexey_
09.04.18
✎
13:33
|
(0) ну не знаю, у меня всё работает
|
|||
2
Cyberhawk
09.04.18
✎
13:35
|
Бывает, держись там
|
|||
3
Гипервизор
09.04.18
✎
13:36
|
(0) Рассказывайте как делали, что за нерабочие варианты.
|
|||
4
Cool_Profi
09.04.18
✎
13:49
|
Погуглил, но так и не понял смысл вопроса...
|
|||
5
oslokot
09.04.18
✎
13:56
|
(4) скорей всего он вот что хочет:
запросом найти док, получить его объект и записать его с режимом записи "отмена проведения" |
|||
6
Масянька
09.04.18
✎
14:19
|
(5) И что потом делать с кассой (которая онлайн)?
(0) правильно поставленная задача содержит половину решения (С) Пиши всю задачу... |
|||
7
admin1s
10.04.18
✎
13:47
|
(6) насчет кассы все верно, делать распроведение не будем, но обработку доделать хочется так для себя
Процедура РаспровестиДокумент(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЧекНаОплату.Номер, | ЧекНаОплату.Ссылка | ИЗ | Документ.ЧекНаОплату КАК ЧекНаОплату |ГДЕ | ЧекНаОплату.Номер = &Номер"; Запрос.УстановитьПараметр("Номер", "ЦБ00006877"); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить("Найден документ: "+ ВыборкаДетальныеЗаписи.Номер); Объект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); Если Объект.Проведен Тогда Сообщить("Документ проведен!"); Записать(РежимЗаписиДокумента.ОтменаПроведения); Сообщить("Документ распроведен!"); КонецЕсли; КонецЦикла; КонецПроцедуры Ругается: Процедура или функция с указанным именем не определена (Записать) <<?>>Записать(РежимЗаписиДокумента.ОтменаПроведения); |
|||
8
catena
10.04.18
✎
13:51
|
(7)Если для себя, то нужно себя спросить, почему когда проверяешь Проведен, говоришь, кого проверяешь. А когда записываешь, надеешься, что адинэс сама придумает, кого и куда записывать?
|
|||
9
Cool_Profi
10.04.18
✎
13:52
|
(7) Главное - никогда не указывает объект, которому метод зовёшь.
Никогда, это плохой тон, пусть система сама прокачивает навыки телепатии |
|||
10
admin1s
10.04.18
✎
14:07
|
(8) > почему когда проверяешь Проведен, говоришь, кого проверяешь - как сделать правильно, так?
Если Объект.Проведен =1 Тогда (9) >Главное - никогда не указывает объект, которому метод зовёшь. -? |
|||
11
Cool_Profi
10.04.18
✎
14:08
|
(10)
Сообщить("Документ проведен!"); Записать(РежимЗаписиДокумента.ОтменаПроведения); Сообщить("Документ распроведен!"); Кого записываешь-то? |
|||
12
Масянька
10.04.18
✎
14:13
|
(10) А там нету Пробит? Реквизит.
|
|||
13
Малыш Джон
10.04.18
✎
14:14
|
(10) Напиши
Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); |
|||
14
admin1s
10.04.18
✎
14:43
|
(13) Спасибо, код без ошибок
Подскажите еще такой вариант, нужно при открытии заполнить например Дату, делаю так, но понимаю что не верно: Процедура ПриОткрытии() Форма = ЭлементыФормы.ПолеВвода; Форма.НачДата = '04.04.2018'; Форма.КонДата = '05.04.2018'; КонецПроцедуры |
|||
15
Evgenchik
10.04.18
✎
14:48
|
объект.Дата = Дата('20180101');
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |