|
|
|
Автоматическое создание ПКО | ☑ | ||
|---|---|---|---|---|
|
0
okosv
11.03.10
✎
13:44
|
Привет всем.
Проблема при создании ПКО, документ сам создается но не проводится, так как касса не устанавливается и договор контрагента. Код следующий: Попытка Сообщить("Создание ПКО..."); НачатьТранзакцию(); //Создаем приходный ордер ДокПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент(); ДокПКО.Организация = Справочники.Организации.НайтиПоКоду("000000001"); ДокПКО.Касса = Касса; ДокПКО.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета; ДокПКО.ВалютаВзаиморасчетовРаботника = Константы.ВалютаРегламентированногоУчета; ДокПКО.КурсДокумента = 1; ДокПКО.Контрагент = СпрКонтр.Ссылка; ДокПКО.ДоговорКонтрагента = СпрДог; ДокПКО.Дата = ТекущаяДата(); ДокПКО.СуммаДокумента = СуммаЗапроса; ДокПКО.ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя; ДокПКО.ОтражатьВУправленческомУчете = Истина; ДокПКО.ОтражатьВБухгалтерскомУчете = Истина; ДокПКО.ОтраженоВОперУчете = Истина; ДокПКО.Оплачено = Истина; //Расшифровка НоваяСтрока = ДокПКО.РасшифровкаПлатежа.Добавить(); НоваяСтрока.ДоговорКонтрагента = СпрДог; НоваяСтрока.КурсВзаиморасчетов = 1; НоваяСтрока.СтавкаНДС = 0; НоваяСтрока.СтавкаНСП = 0; ДокПКО.Записать(); ЗафиксироватьТранзакцию(); Сообщить("ПКО Создан!"); Сообщить("Запрос обработан!"); Исключение Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное); ОтменитьТранзакцию(); КонецПопытки; Код получения кассы: Запрос = Новый Запрос("ВЫБРАТЬ | Кассы.Ссылка |ИЗ | Справочник.Кассы КАК Кассы |ГДЕ | Кассы.Родитель.ЭтоГруппа = Истина | И Кассы.Родитель.Наименование = ""ДИЛЕРЫ"""); Запрос.УстановитьПараметр("КодКассы", КодКассы); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Количество() > 0 Тогда Сообщить("Касса найдена!"); Касса = Выборка.Ссылка; КонецЕсли; Помогите камрады |
|||
|
1
okosv
11.03.10
✎
13:46
|
Также не устанавливается сумма документа
|
|||
|
2
чувак
11.03.10
✎
13:48
|
В отладке "Выборка.Ссылка" что нибудь показывает?
|
|||
|
3
чувак
11.03.10
✎
13:48
|
Запрос = Новый Запрос("ВЫБРАТЬ
| Кассы.Ссылка |ИЗ | Справочник.Кассы КАК Кассы |ГДЕ | Кассы.Родитель.ЭтоГруппа = Истина | И Кассы.Родитель.Наименование = ""ДИЛЕРЫ"""); Запрос.УстановитьПараметр("КодКассы", КодКассы); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Сообщить("Касса найдена!"); Касса = Выборка.Ссылка; КонецЕсли; |
|||
|
4
73
11.03.10
✎
13:48
|
<Код получения кассы>
Параметр зачем? Выборке Следующий() не помешает... |
|||
|
5
okosv
11.03.10
✎
13:55
|
ЧЁРТ!!! Млин, пропустил этот момент спасибо, еще покопаюсь насчет договора...
|
|||
|
6
okosv
11.03.10
✎
13:58
|
С договором такая же история
теперь другая проблема не могу установить сумму документа, т.е. сумма устанавливается в расшифровке ПКО сумма без значения остается |
|||
|
7
okosv
11.03.10
✎
14:09
|
Сумму тоже установил, следующим образом:
ДокПКО.Контрагент = СпрКонтр.Ссылка; ДокПКО.Дата = ТекущаяДата(); ДокПКО.СуммаДокумента = СуммаЗапроса; ДокПКО.ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя; ДокПКО.ОтражатьВУправленческомУчете = Истина; ДокПКО.ОтраженоВОперУчете = Истина; ДокПКО.Оплачено = Истина; //Расшифровка НоваяСтрока = ДокПКО.РасшифровкаПлатежа.Добавить(); НоваяСтрока.ДоговорКонтрагента = СпрДог; НоваяСтрока.СтатьяДвиженияДенежныхСредств = Перечисления.ВидыОперацийПКО.ОплатаПокупателя; НоваяСтрока.КурсВзаиморасчетов = 1; НоваяСтрока.СтавкаНДС = 0; НоваяСтрока.СтавкаНСП = 0; НоваяСтрока.СуммаВзаиморасчетов = СуммаЗапроса; НоваяСтрока.СуммаПлатежа = СуммаЗапроса; Но теперь другая проблема, документ при добавлении должен проводиться автоматически? или проведение нужно делать отдельной операцией? И еще, при ручной проводке документа, выходит следующее сообщение: "ПересчитатьИзВалютыВВалюту(): при пересчете обнаружен нулевой курс." Регламентированный и управленческий учет ведется на одной и той же валюте, курс валюты установлен |
|||
|
8
okosv
11.03.10
✎
14:14
|
С проведением разобрался, сделал так:
ДокПКО.Записать(РежимЗаписиДокумента.Проведение); С сообщением ПересчитатьИзВалютыВВалюту(): при пересчете обнаружен нулевой курс. еще нет |
|||
|
9
mikecool
11.03.10
✎
14:15
|
(8) а почему не используешь метод Заполнить()?
|
|||
|
10
73
11.03.10
✎
14:15
|
Константы.ВалютаРегламентированногоУчета.ПОЛУЧИТЬ()
|
|||
|
11
okosv
11.03.10
✎
14:16
|
(9)
где это надо использовать? просто я новичок в 1С, и первый раз пробую |
|||
|
12
okosv
11.03.10
✎
14:19
|
(10) Сделал
сообщение по поводу Валют все равно выходит |
|||
|
13
okosv
11.03.10
✎
14:20
|
Попробовал открыть ПКО, созданный программно
В расшифровке стоит 1 руб = 1 руб |
|||
|
14
okosv
11.03.10
✎
14:20
|
И еще, валюта договора в той же валюте что и регламентированный учет и управленческий учет
|
|||
|
15
kn
11.03.10
✎
14:29
|
КратностьВзаиморасчетов установи в (7)
|
|||
|
16
okosv
11.03.10
✎
14:31
|
Вот весь код:
Попытка Сообщить("Создание ПКО..."); НачатьТранзакцию(); //Создаем приходный ордер ДокПКО = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент(); ДокПКО.Организация = Справочники.Организации.НайтиПоКоду("000000001"); ДокПКО.Касса = Касса; ДокПКО.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета; ДокПКО.ВалютаВзаиморасчетовРаботника = Константы.ВалютаРегламентированногоУчета.Получить(); ДокПКО.КурсДокумента = 1; ДокПКО.Контрагент = СпрКонтр.Ссылка; ДокПКО.Дата = ТекущаяДата(); ДокПКО.СуммаДокумента = СуммаЗапроса; ДокПКО.ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя; ДокПКО.ОтражатьВУправленческомУчете = Истина; ДокПКО.ОтраженоВОперУчете = Истина; ДокПКО.Оплачено = Истина; //Расшифровка НоваяСтрока = ДокПКО.РасшифровкаПлатежа.Добавить(); НоваяСтрока.ДоговорКонтрагента = СпрДог; НоваяСтрока.КурсВзаиморасчетов = 1; НоваяСтрока.СуммаПлатежа = СуммаЗапроса; НоваяСтрока.КратностьВзаиморасчетов = 1; НоваяСтрока.СуммаВзаиморасчетов = СуммаЗапроса; НоваяСтрока.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000002"); ДокПКО.Записать(РежимЗаписиДокумента.Проведение); ЗафиксироватьТранзакцию(); Сообщить("ПКО Создан!"); Сообщить("Запрос обработан!"); Исключение Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное); ОтменитьТранзакцию(); КонецПопытки; Валюта ПКО не устанавливается |
|||
|
17
73
11.03.10
✎
14:36
|
ДокПКО.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.ПОЛУЧИТЬ()
|
|||
|
18
okosv
11.03.10
✎
14:44
|
(17)
ВАЙ!!! ВАЙ!!! Такую ошибку допустил, млин Ну ладно, на ошибках учатся ;))) Спасибо, всем Special thanks for 73 :)))))))))) |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |