|
Перенос остатков по счету в Операцию | ☑ | ||
---|---|---|---|---|
0
dft2014
20.07.17
✎
13:55
|
БП 3.0
Подскажите, что не так с кодом? Пытаюсь перенести кредитовые остатки с одного счета на другой - в документ "Операция" но при записи выдает ошибку. Ниже код: &НаСервере Процедура ПереносНаСервере() ДатаОпераций = ТекущаяДата(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто3 КАК ДокументРасчетов, | ХозрасчетныйОстатки.СуммаОстатокКт КАК Сумма |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами), , ) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.СуммаОстатокКт > 0"; Запрос.УстановитьПараметр("Период", ДатаОпераций); Попытка НачатьТранзакцию(); Операция = Документы.ОперацияБух.СоздатьДокумент(); Операция.Дата = ДатаОпераций; Операция.Содержание = "ТЕСТ: перенос кредитового остатка со счета 76.09" + ДатаОпераций; Операция.Организация = Справочники.Организации.НайтиПоКоду("000000001"); Операция.Ответственный = ПараметрыСеанса.ТекущийПользователь; Операция.Записать(РежимЗаписиДокумента.Запись); НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(Операция.Ссылка); НаборЗаписей.Прочитать(); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда НСтрока = НаборЗаписей.Добавить(); НСтрока.Регистратор = Операция.Ссылка; НСтрока.Период = ДатаОпераций; НСтрока.Организация = Операция.Организация; НСтрока.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами; БухгалтерскийУчет.УстановитьСубконто(НСтрока.СчетДт, НСтрока.СубконтоДт, "Контрагенты", Выборка.Субконто1); БухгалтерскийУчет.УстановитьСубконто(НСтрока.СчетДт, НСтрока.СубконтоДт, "Договоры", Выборка.Субконто2); БухгалтерскийУчет.УстановитьСубконто(НСтрока.СчетДт, НСтрока.СубконтоДт, "ДокументыРасчетовСКонтрагентами", Выборка.ДокументРасчетов); НСтрока.СчетКт = ПланыСчетов.Хозрасчетный.ВзаиморасчетыССКТранзитный; БухгалтерскийУчет.УстановитьСубконто(НСтрока.СчетКт, НСтрока.СубконтоКт, "Контрагенты", Выборка.Субконто1); БухгалтерскийУчет.УстановитьСубконто(НСтрока.СчетКт, НСтрока.СубконтоКт, "Договоры", Выборка.Субконто2); БухгалтерскийУчет.УстановитьСубконто(НСтрока.СчетКт, НСтрока.СубконтоКт, "ДокументыРасчетовСКонтрагентами", Выборка.ДокументРасчетов); НСтрока.Сумма = Выборка.Сумма; НСтрока.СуммаНУДт = Выборка.Сумма; НСтрока.СуммаНУКт = Выборка.Сумма; КонецЕсли; НаборЗаписей.Записать(); ЗафиксироватьТранзакцию(); ТекстВозврата = ТекстВозврата + ?(ТекстВозврата = "", "", Символы.пс) + ": Создана операция """ + Строка(Операция.Ссылка) + """"; Исключение ОтменитьТранзакцию(); ЗаписьЖурналаРегистрации("ТЕСТ: перенос кредитового остатка со счета 76.09", УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки()); ТекстВозврата = ТекстВозврата + ?(ТекстВозврата = "", "", Символы.пс) + ": " + ОписаниеОшибки(); КонецПопытки; КонецПроцедуры &НаКлиенте Процедура Перенос(Команда) ПереносНаСервере(); КонецПроцедуры |
|||
1
1dvd
20.07.17
✎
13:55
|
я угадаю текст ошибки с 20 постов
|
|||
2
Numerus Mikhail
20.07.17
✎
13:56
|
Обычно в таких случаях еще и текст ошибки приводят
|
|||
3
lodger
20.07.17
✎
13:57
|
угадаю текст ошибки со 100 постов.
|
|||
4
Ц_У
20.07.17
✎
13:58
|
(1) (3) текст ошибки дан в коде :) угадываю с 1 поста :)
|
|||
5
dft2014
20.07.17
✎
13:58
|
Субконто у обоих счетов одинаковые (Контрагент, Договор, Документ расчетов).
|
|||
6
1dvd
20.07.17
✎
14:00
|
(5) отладчиком пользоваться умеем? скорее всего тебе запрос Субконто выдает не в том порядке
|
|||
7
dft2014
20.07.17
✎
14:01
|
(2) Текст ошибки:
"Преобразование значения к типу Число не может быть выполнено" и ссылка на строчку: ТекстВозврата = ТекстВозврата + ?(ТекстВозврата = "", "", Символы.пс) + ": Создана операция """ + Строка(Операция.Ссылка) + """"; |
|||
8
1dvd
20.07.17
✎
14:02
|
(7) ну, а ТекстВозврата у тебя какого типа?
|
|||
9
Numerus Mikhail
20.07.17
✎
14:02
|
Перед этим напиши
ТекстВозврата = ""; (7) |
|||
10
Numerus Mikhail
20.07.17
✎
14:03
|
(7) Хотя да, у тебя текст возврата имеет тип число. Это реквизит формы?
|
|||
11
cw014
20.07.17
✎
14:05
|
У тебя ТекстВозврата = неопределенео
|
|||
12
dft2014
20.07.17
✎
14:18
|
(9) Спасибо! Ошибка ушла!
|
|||
13
dft2014
20.07.17
✎
14:18
|
Но почему-то только одну запись делает в Операцию...
|
|||
14
1dvd
20.07.17
✎
14:19
|
(13) потому что у тебя нет цикла по выборке
|
|||
15
dft2014
20.07.17
✎
14:31
|
(14) Да, поправила. Все работает!
всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |