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


1С:Предприятие ::

Метки:

Два действия одной кнопкой

Я
   Pavel55555
 
19.06.17 - 14:16
Доброго дня!
Платформа 8.3 Толстый клиент. УТ 10.3
Данные:

ДокументОбъект.РеализацияТоваровУслуг

Необходимо создать процедуру где последовательно обрабатывается:
1. Провести документ
2. Ввести на основании "ПриходныйКассовыйОрдер"

Кнопка есть, Провести документ есть.

Не могу сообразить код, как создать документ "ПриходныйКассовыйОрдер" на основании этого
 
 
   lubitelxml
 
1 - 19.06.17 - 14:19
Есть метод заполнить (сработает процедура ОбработкаЗаполнения у объекта, где в параметре основание будет ссылка на твою реализацию
   Лефмихалыч
 
2 - 19.06.17 - 14:19
ДокументОбъект = Документ.ПриходныйКассовыйОрдер.СоздатьДокумент();
ДокументОбъект.Заполнить(СсылкаНаРеализацию);
ДокументОбъект.Записать(РежимЗаписиДокумента.проведение);
   Повелитель
 
3 - 19.06.17 - 14:21
(0) Приходник и так в 2 клика в типовой заводиться.

На панели "Ввести на основании" - ПКО - Провести.

Ваши пользователи разленились походу вконец.
   Pavel55555
 
4 - 19.06.17 - 14:23
На форме то я вывел кнопку
"ПриходныйКассовыйОрдер" на основании этого

Но она отделена, нужно одной кнопкой два действия

(2) сейчас попробую
   Pavel55555
 
5 - 19.06.17 - 14:24
(3) суть не в этом, просто продавцы иногда забывают делать приходник после реализации.
   Лефмихалыч
 
6 - 19.06.17 - 14:27
надо колено простреливать за это
   Pavel55555
 
7 - 19.06.17 - 14:27
(6) Верно
   Лефмихалыч
 
8 - 19.06.17 - 14:27
голову - нельзя, от этого еще забывчивей станут. А колено - самый раз.
   Михаил Козлов
 
9 - 19.06.17 - 14:27
(5) А деньги они у клиента при этом забирают?
   mistеr
 
10 - 19.06.17 - 14:28
(5) Конфу для розницы не предлагать?
 
 
   Pavel55555
 
11 - 19.06.17 - 14:30
(2) Шо та Значение не является значением объектного типа (ПриходныйКассовыйОрдер)
   youalex
 
12 - 19.06.17 - 14:31
(11) ты
   Pavel55555
 
13 - 19.06.17 - 14:34
(9) Забирают.
Либо как то создать условие, наподобие:
Не печатать чек пока нет Приходного либо Оплата картой
   Лефмихалыч
 
14 - 19.06.17 - 14:50
(11) за подобные вопросы на этом форуме хлещут кандлябром рекомендуют пригласить специалиста
   Лефмихалыч
 
15 - 19.06.17 - 14:51
(13) да просто разницу между суммой в кассе и суммой по реализациям надо из зарплаты вычитать у них
   Irbis
 
16 - 19.06.17 - 14:56
(0) А что только два действия на одну кнопку? У правельных пацанчегов давно в программе одна кнопка: "Сделать всё запипись"
   Pavel55555
 
17 - 19.06.17 - 15:00
(15) Так и бывает.
У продавцов Права обрезаны в конец.
Печать чека только после Проводки, помечать на удаление, перепроводка, редактирование, изменение и прочие дела типа как изменить "Номенклатуру" - Нарушение прав!
Недостача идет из ЗП.

Почему-то:
Документ = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
Не хочет работать, не реагирует, как будто пустая кнопка.
   arishkaKlimova
 
18 - 19.06.17 - 15:03
(17) Дак надо записать потом документ.
Документ.Записать();
   Pavel55555
 
19 - 19.06.17 - 15:06
(16) Так потом 3 действия будет, печать чека.
   arishkaKlimova
 
20 - 19.06.17 - 15:10
(19) Вообще, это не очень правильно при записи одного документа создавать и проводить другой
   Pavel55555
 
21 - 19.06.17 - 15:18
(20) Последовательность
1. Проведение Реализации;
2. На основании Реализации создать новый и открыть Приходный не записывая.
Как то так.

Допустим далее можно сделать:
кассир нажимает провести Приходный и выходит чек реализации.
   Лефмихалыч
 
22 - 19.06.17 - 15:19
(17) так ить прав же нет - сам сказал.
Это надо делать в привилегированном режиме

УстановитьПривилегированныйРежим(Истина)
   Pavel55555
 
23 - 19.06.17 - 15:24
(22) Я под Админом, Полные права
   Лефмихалыч
 
24 - 19.06.17 - 15:25
(23) под программистом надо
   Pavel55555
 
25 - 19.06.17 - 15:31
(24) И под ним тоже "Пытаюсь" с книжками.
   Лефмихалыч
 
26 - 19.06.17 - 15:32
(25) да блин! посмотри уже в дерево метаанных, как это документ правильно называется
   Pavel55555
 
27 - 19.06.17 - 15:59
(26) Ура всё родилось:
Процедура ПровестиДокумент()
    
    ЗаписатьВФорме(РежимЗАписиДокумента.Проведение);
    
    Документ = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент();
    Документ.Дата = ТекущаяДата();
    Документ.Заполнить(ЭтотОбъект.Ссылка);
    Документ.Записать();
    Документ.ПолучитьФорму().Открыть();

КонецПроцедуры

Возник дополнительный вопрос, как сделать кнопку Проведения не активной! после того как Реализацию провели?
Дабы избавится от создания лишних Приходников.
   arishkaKlimova
 
28 - 19.06.17 - 16:01
(27) Сначала нужна проверка, создан или нет на основании этого документа приходник. А ещё перед созданием приходника нужно проверять, провелся ли твой документ.

Кнопка проведения доступность равно ложь
   Лефмихалыч
 
29 - 19.06.17 - 16:12
(27) галку "автозаполнение" у панели выключи и заполни сам такими командами, которые нужны
   Лефмихалыч
 
30 - 19.06.17 - 16:16
А вообще, удали весь свой код.
И вместо него добавь подписку "ПриЗаписи", в которой проверяй режим записи и вот это (28).

Сейчас твои эти убогие костыли любой дурак обойти может - запишут документ, закроют форму, и проведут документ правой кнопкой из журнала документов.
   Pavel55555
 
31 - 19.06.17 - 16:20
(28) А если так:
Если ЭтаФорма.ДокументОбъект.Проведен = Истина Тогда
        ЭтаФорма.ЭлементыФормы.ДействияФормы.Кнопки.Провести.Доступность = Ложь;
    КонецЕсли;

(30) и проведут документ правой кнопкой из журнала документов.
Нет у продавцов этой кнопки в журнала документов.
   Лефмихалыч
 
32 - 19.06.17 - 16:22
(31) продолжай копрокодить
   Pavel55555
 
33 - 19.06.17 - 17:09
Всем спасибо вопрос закрыт.
 
  Рекламное место пустует



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