Имя: Пароль:
1C
1С v8
Создание документа программно
0 JuixyJes
 
13.11.19
10:32
Доброго утра, товаришчи программейстеры! Создаю документ чекККМ возврата программно из моего нетипового документа. Документ создается, открывается. Но при попытке "оплаты"/проведения документа возникает ошибка "перед открытием формы оплаты не удалось записать документ". Кто нибудь подскажет, в чем может быть проблема? Быть может какие то реквизиты не заполнены? Или еще что-то?
1 ДенисЧ
 
13.11.19
10:33
Да. Может быть, какие-то реквизиты не заполнены.
Даже скорее всего какие-то реквизиты не заполнены, или заполнены неправильно.
2 Kigo_Kigo
 
13.11.19
10:34
Ошибка в том что, перед открытием обработки оплаты - документ пытается записаться- но вываливается в отказ, а вот почему курите отладчик
3 piter3
 
13.11.19
10:36
Отладчик спасет
4 JuixyJes
 
13.11.19
10:36
Нужна ли ссылка на чек ккм, к которому нужно сделать возврат?
5 Paint_NET
 
13.11.19
10:37
(4) Дык открой пофигуратор да посмотри, обязателен ли этот реквизит, или где-либо его наличие проверяется при записи/проведении.
6 Михаил Козлов
 
13.11.19
11:01
(0) Попробуйте просто записать документ после открытия формы.
7 JuixyJes
 
13.11.19
11:05
Проблема в том, что у меня есть подписка на событие при проведении документа, записывающая движение документа в самопальный регистр. Если закомментить  код в модуле для подписки, все нормально, документ записывается и все замечтательно.
8 piter3
 
13.11.19
11:06
иииии
9 Kigo_Kigo
 
13.11.19
11:07
(8) Это ему ниоапчом не говорит, че ИИИиикаете то:)
10 JuixyJes
 
13.11.19
11:09
(8) Но пройдясь по коду отладчиком, все вроде бы правильно делается:D
11 JuixyJes
 
13.11.19
11:09
(9) не ему, молодой чебурек, не ему:D
12 Paint_NET
 
13.11.19
11:10
(10) В сторону прав не копала?
13 Paint_NET
 
13.11.19
11:11
Часто забывают на самопальные регистры раздать как положено права.
14 piter3
 
13.11.19
11:12
(10) Вроде не хорошо
15 JuixyJes
 
13.11.19
11:19
(13) в этот же регистр пишут движения и обычные чеки ККМ, там такие же права.
16 JuixyJes
 
13.11.19
11:25
Процедура ПроведениеВозврата(Источник, Отказ, РежимПроведения) Экспорт
    Если не ПустаяСтрока(Источник.ФизЛицо) Тогда
        Регистр = Источник.Движения.Гостиница_Начисления;
        Регистр.Записывать = Истина;    
        Движение = Регистр.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Источник.ДатаНачала;
        Движение.Организация = Источник.ДокументОснование.Организация;
        Движение.Подразделение = Источник.ДокументОснование.Подразделение;
        Движение.ФизЛицо = Источник.ФизЛицо;
        Движение.Сумма = Источник.СуммаДокумента;
        Движение.ДатаЗаселения = Источник.ДатаНачала;
        Движение.ДатаВыезда = Источник.ДатаОкончания;
        Движение.Месяц = Источник.ДатаНачала;
        Движение.НомерПроживания = Источник.НомерПроживания;
        Движение.КомнатаПроживания = Источник.КомнатаПроживания;
        Движение.КойкаПроживания = Источник.КойкаПроживания;
        Движение.Документ = Источник.ДокументОснование;
    КонецЕсли;
КонецПроцедуры
17 piter3
 
13.11.19
11:26
Источник.ФизЛицо строка,че серьезно?
18 JuixyJes
 
13.11.19
11:27
Посмотрела отладчиком

Движение.ДатаЗаселения = Источник.ДатаНачала;

С этой строчки начинается проблема.
19 JuixyJes
 
13.11.19
11:27
(17) Там просто проверка на заполненное значение
20 JuixyJes
 
13.11.19
11:49
Так, все, проблему решила, оказалась тупенькой. В ошибку падает сей код потому, что в регистре нет Даты заселения и Даты выезда...
21 D_E_S_131
 
13.11.19
14:33
(20) А как ты это нашла, что нет таких реквизитов?
22 hhhh
 
13.11.19
14:37
(19) ну так

Если ЗначениеЗаполнено(Источник.ФизЛицо) Тогда

какая нахрен ПустаяСтрока ??
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший