![]() |
|
Проводки в 1С 8.3 | ☑ | ||
---|---|---|---|---|
0
dred999
08.02.16
✎
10:15
|
Всем привет. Есть Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.43.89). Есть задача грузить из екселя данные в документ Операции введенные в ручную.
Все данные реквизитов гружу без проблем, а вот в табличную часть движение не могу загрузить. Подскажите как это сделать. Вот пытаюсь так загрузить: ДокументОпВРучную = Документы.ОперацияБух.СоздатьДокумент(); Для каждого СтрокаТаблицы Из Объект.ТаблицаЗагрузки Цикл ДокументОпВРучную = Документы.ОперацияБух.СоздатьДокумент(); ДокументОпВРучную.Дата = СтрокаТаблицы.ДатаДокумента; ДокументОпВРучную.Организация = СтрокаТаблицы.Контрагент; ДокументОпВРучную.СуммаОперации = СтрокаТаблицы.Сумма012; ДокументОпВРучную.Комментарий = СтрокаТаблицы.Коментарий; ДокументОпВРучную.Содержание = "Возврат от покупателя"; // Грузим движение по документу. ТабЧастьДт = ДокументОпВРучную.Движения.Хозрасчетный.ДобавитьДебет(); ТабЧастьДт.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); Не получается. Как правильно грузить? |
|||
1
Cyberhawk
08.02.16
✎
10:16
|
Записывать не забывай
|
|||
2
dred999
08.02.16
✎
10:17
|
(1) Записывается нормально.
Попытка ДокументОпВРучную.Записать(РежимЗаписиДокумента.Запись); Исключение Сообщить("Не удалось записать документ " + ДокументОпВРучную + " по причине " + ОписаниеОшибки()); КонецПопытки КонецЦикла; |
|||
3
dred999
08.02.16
✎
10:17
|
(1) Документ записываеться но без движения.
|
|||
4
Shved_72
08.02.16
✎
10:21
|
писать надо в регистр
|
|||
5
hhhh
08.02.16
✎
10:21
|
(3) движения записывать не забывай.
|
|||
6
Amra
08.02.16
✎
10:22
|
(3) Движения записывать незабывай.
|
|||
7
Shved_72
08.02.16
✎
10:22
|
Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ДокументОпВРучную .Ссылка); Набор.Прочитать(); Движение = Набор.Добавить(); ... бла бла бла |
|||
8
Dmitrii
гуру
08.02.16
✎
10:26
|
(0) В БП регистр бухгалтерии с поддержкой корреспонденции.
Поэтому не надо добавлять отдельно дебет и отдельно кредит. Вместо ДобавитьДебет() надо использовать метод Добавить(). |
|||
9
dred999
08.02.16
✎
10:29
|
(8) ДокументОпВРучную = Документы.ОперацияБух.СоздатьДокумент();
Для каждого СтрокаТаблицы Из Объект.ТаблицаЗагрузки Цикл ДокументОпВРучную = Документы.ОперацияБух.СоздатьДокумент(); ДокументОпВРучную.Дата = СтрокаТаблицы.ДатаДокумента; ДокументОпВРучную.Организация = СтрокаТаблицы.Контрагент; ДокументОпВРучную.СуммаОперации = СтрокаТаблицы.Сумма012; ДокументОпВРучную.Комментарий = СтрокаТаблицы.Коментарий; ДокументОпВРучную.Содержание = "Возврат от покупателя"; //////////////////////////////////// Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(ДокументОпВРучную.Ссылка); Набор.Прочитать(); Движение = Набор.Добавить(); /////////////////////////////////// Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); Попытка ДокументОпВРучную.Записать(РежимЗаписиДокумента.Запись); Исключение Сообщить("Не удалось записать документ " + ДокументОпВРучную + " по причине " + ОписаниеОшибки()); КонецПопытки КонецЦикла; Не добавляет |
|||
10
Shved_72
08.02.16
✎
10:36
|
Набор.Записать(Истина); пропустил
|
|||
11
Dmitrii
гуру
08.02.16
✎
10:37
|
(9) Если работаешь с регистром через набор записей, то для установки отбора по регистратору этот регистратор должен быть уже записан. У тебя он не записан.
И в твоём случае проще работать с набором записей через коллекцию Движения, а не заниматься фигнёй как в (7). Движение = ДокументОпВРучную.Движения.Хозрасчетный.Добавить(); |
|||
12
dred999
08.02.16
✎
10:43
|
(11) делаю :
Движение = ДокументОпВРучную.Движения.Хозрасчетный.Добавить(); Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); Движение.Записать(Истина); Выбивает ошибку: {Форма.Форма.Форма(131)}: Метод объекта не обнаружен (Записать) Движение.Записать(Истина); |
|||
13
dred999
08.02.16
✎
10:57
|
(7) Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ДокументОпВРучную.Ссылка); Набор.Прочитать(); Движение = Набор.Добавить(); Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); Набор.Записать(Истина); Ошибка: {Форма.Форма.Форма(140)}: Ошибка при вызове метода контекста (Записать) Набор.Записать(Истина); по причине: Ошибка записи! Не установлен отбор по регистратору (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет)) |
|||
14
Dmitrii
гуру
08.02.16
✎
11:01
|
(12) Вместо Движение.Записать(Истина) надо ДокументОпВРучную.Движения.Хозрасчетный.Записать();
|
|||
15
hhhh
08.02.16
✎
11:02
|
(13) ДокументОпВручную не забывай записать.
|
|||
16
dred999
08.02.16
✎
11:13
|
(15) Да. Записываю. Эту часть кода прост не скопировал и не вынес. Вот весь код:
Для каждого СтрокаТаблицы Из Объект.ТаблицаЗагрузки Цикл ДокументОпВРучную = Документы.ОперацияБух.СоздатьДокумент(); ДокументОпВРучную.Дата = СтрокаТаблицы.ДатаДокумента; ДокументОпВРучную.Организация = СтрокаТаблицы.Контрагент; ДокументОпВРучную.СуммаОперации = СтрокаТаблицы.Сумма012; ДокументОпВРучную.Комментарий = СтрокаТаблицы.Коментарий; ДокументОпВРучную.Содержание = "Возврат от покупателя"; //////////////////////////////////// Движение = ДокументОпВРучную.Движения.Хозрасчетный.Добавить(); Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"); //Движение.Записать(Истина); ///////////////////////////////////// Попытка ДокументОпВРучную.Записать(РежимЗаписиДокумента.Запись); Исключение Сообщить("Не удалось записать документ " + ДокументОпВРучную + " по причине " + ОписаниеОшибки()); КонецПопытки КонецЦикла; |
|||
17
dred999
08.02.16
✎
11:16
|
Как правильно не пойму.
|
|||
18
dred999
08.02.16
✎
11:30
|
(14) Та же самая ошибка.
{Форма.Форма.Форма(138)}: Ошибка при вызове метода контекста (Записать) ДокументОпВРучную.Движения.Хозрасчетный.Записать(); по причине: Ошибка записи! Не установлен отбор по регистратору (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет)) |
|||
19
QuestNew
08.02.16
✎
11:35
|
тДок = Документы.ОперацияБух.СоздатьДокумент();
... тДок.Записать(); Регистр = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Регистр.Отбор.Регистратор.Значение = тДок.Ссылка; НоваяЗапись = Регистр.Добавить(); НоваяЗапись.Регистратор = тДок.Ссылка; ... НоваяЗапись.Активность = Истина; Регистр.Записать(); |
|||
20
dred999
08.02.16
✎
13:28
|
Все разобрался! Всем спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |