|
|
|
Как получить ссылку нового документа еще не проведенного? | ☑ | ||
|---|---|---|---|---|
|
0
Katerinka-e
31.05.11
✎
07:22
|
Подскажите как СтрокаТЧ.Документ присвоить ссылку нового документа ОперацииБух еще не проведенного
СтрокаТЧ = ЭлементыФормы.ВозвратК.ТекущиеДанные; //добавим документ Операции и добавим проводки НовБУ = Документы.ОперацияБух.СоздатьДокумент(); НовБУ.Организация = Организация; НовБУ.Дата = дата; НовБУ.Ответственный = Ответственный; НовБУ.Содержание = "Возврат корма. Документ: " + ДокументОбъект.Ссылка; ОбщаяСумма = 0; Для каждого строка из ВозвратК цикл //добавление проводки в БУ Проводка = НовБУ.Движения.Хозрасчетный.Добавить(); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.12"); Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("20.01.1"); УстановитьСубконто(Проводка.СчетДТ, Проводка.СубконтоДТ, 1, строка.Номенклатура); УстановитьСубконто(Проводка.СчетДТ, Проводка.СубконтоДТ, 2, склад); УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, 1, Подразделение); УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, 2, строка.ПартииПроизводсива); УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, 3, Справочники.СтатьиЗатрат.НайтиПоКоду("000000005")); Проводка.КоличествоДТ = строка.Количество; Проводка.Сумма = строка.Сумма; Проводка.Период = дата; //добавление проводки в НУ ПроводкаНУ = НовБУ.Движения.Налоговый.Добавить(); ПроводкаНУ.СчетДт = ПланыСчетов.Налоговый.НайтиПоКоду("10.12"); ПроводкаНУ.СчетКт = ПланыСчетов.Налоговый.НайтиПоКоду("20.01.1.1"); УстановитьСубконто(ПроводкаНУ.СчетДТ, ПроводкаНУ.СубконтоДТ, 1, СтрокаТЧ.Номенклатура); УстановитьСубконто(ПроводкаНУ.СчетДТ, ПроводкаНУ.СубконтоДТ, 2, склад); УстановитьСубконто(ПроводкаНУ.СчетКт, ПроводкаНУ.СубконтоКт, 1, Подразделение); УстановитьСубконто(ПроводкаНУ.СчетКт, ПроводкаНУ.СубконтоКт, 2, строка.ПартииПроизводсива); УстановитьСубконто(ПроводкаНУ.СчетКт, ПроводкаНУ.СубконтоКт, 3, Справочники.СтатьиЗатрат.НайтиПоКоду("000000005")); ПроводкаНУ.КоличествоДТ = строка.Количество; ПроводкаНУ.Сумма = строка.Сумма; ПроводкаНУ.Период = дата; ОбщаяСумма = ОбщаяСумма + Строка.сумма; СтрокаТЧ.Документ = НовБУ.УстановитьСсылкуНового(); КонецЦикла; НовБУ.СуммаОперации = ОбщаяСумма; НовБУ.Записать(); |
|||
|
1
Amra
31.05.11
✎
07:27
|
Без фото не взлетит)
|
|||
|
2
Rie
31.05.11
✎
07:30
|
(0) Может, так:
НовБУ.УстановитьСсылкуНового(); СтрокаТЧ.Документ = НовБУ.Ссылка; |
|||
|
3
Sammo
31.05.11
✎
07:39
|
Непроведенного или незаписанного?
|
|||
|
4
Amiralnar
31.05.11
✎
07:41
|
(3) Не установить, а непосредственно - получить.
|
|||
|
5
Katerinka-e
31.05.11
✎
07:42
|
незаписанного
|
|||
|
6
Amiralnar
31.05.11
✎
07:43
|
А что за нелогичный алгоритм??
|
|||
|
7
Amiralnar
31.05.11
✎
07:43
|
И кто мешает записать, а потом присвоить?
|
|||
|
8
Sammo
31.05.11
✎
07:44
|
Кстати. А почему бы не записать сначала документ, а потом записать его движения?
Либо как уже сказали - ПолучитьСсылку/УстановитьСсылкуНового - подробнее см. СП |
|||
|
9
Amiralnar
31.05.11
✎
07:45
|
(8) Движения записывать не надо. Они сами должны записаться вместе с операцией.
|
|||
|
10
Sammo
31.05.11
✎
07:51
|
(9) Да все равно.
Суть в том, чтобы перед записью движений документ был уже записан. Недостаток - проблемы при формировании проводок. |
|||
|
11
Amiralnar
31.05.11
✎
07:53
|
(10) Как все равно? Я вас не понимаю.
Создаем объект документа. В этом объекте доступны движения. Они могут быть заполнены, а объект записан. Большего не требуется. Зачем записывать одно, другое, третье? |
|||
|
12
Amiralnar
31.05.11
✎
07:54
|
У меня вообще вызывает вопрос сам алгоритм. Зачем одна и та-же СтрокаТЧ в цикле заполняется одним и тем-же документом? Это вроде как если с первого раза не получилось?
|
|||
|
13
vicof
31.05.11
✎
07:55
|
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.12");
Проводка.СчетКт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("20.01.1"); как мило |
|||
|
14
Katerinka-e
31.05.11
✎
07:58
|
(12) работает так есть документ Документ возврат у нем таблица. Берутся из таблицы каждая строка и данные в нес записываются в операция бух учет.
|
|||
|
15
Sammo
31.05.11
✎
07:59
|
(12) Да тут много вопросов - откуда берется ВозвратК + меня всегда умиляли переменные с названиями Строка и Дата и т.д. и т.п.
|
|||
|
16
Katerinka-e
31.05.11
✎
08:01
|
ВозвратК это таблица в документе ДокументВозврат
|
|||
|
17
Katerinka-e
31.05.11
✎
08:12
|
Итог не ясен!?
|
|||
|
18
Amiralnar
31.05.11
✎
08:13
|
(17) Поток сознания...
Используйте ПолучтьСсылкуНового(), и да прибудет с вами сила. |
|||
|
19
Katerinka-e
31.05.11
✎
08:23
|
если я
СтрокаТЧ.Документ = НовБУ.ПолучитьСсылкуНового(); то с СтрокаТЧ.Документ пусто если перед циклом записать созданный докумунт, а затем СтрокаТЧ.Документ = НовБУ.ПолучитьСсылкуНового(); {Документ.ВозвратКормов.Форма.ФормаДокумента(110)}: Ошибка при вызове метода контекста (ПолучитьСсылкуНового): Получение новой ссылки доступно только для нового объекта. СтрокаТЧ.Документ = НовБУ.ПолучитьСсылкуНового(); |
|||
|
20
Amiralnar
31.05.11
✎
08:26
|
СтрокаТЧ.Документ - тип реквизита ТЧ не правильный.
|
|||
|
21
Katerinka-e
31.05.11
✎
08:45
|
Подскажите пожалуйста какой надо установить тип реквизита?
ставила строка и ссылкадокументы.операцииБух |
|||
|
22
Рыжий Лис
31.05.11
✎
09:12
|
(19) Если "перед циклом записать", то это уже не новый документ.
|
|||
|
23
Katerinka-e
31.05.11
✎
09:29
|
(22) хорошо, а как тогда сделать?
|
|||
|
24
Katerinka-e
31.05.11
✎
09:29
|
правильно
|
|||
|
25
Katerinka-e
31.05.11
✎
09:38
|
Ау, плиз помогите?
|
|||
|
26
Eugene_life
31.05.11
✎
09:44
|
(25) У тебя тип реквизита "документ" наверное, а присваиваешь ему тип "Ссылка"
|
|||
|
27
Рыжий Лис
31.05.11
✎
09:45
|
СтрокаТЧ.Документ = НовБУ.Ссылка; |
|||
|
28
Katerinka-e
31.05.11
✎
09:55
|
Спасибо большое!!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |