|
v7: ТИС Создать счет из реализации |
☑ |
0
Кирр
13.07.11
✎
11:16
|
Есть реализация товара. Нужно по нажатию одной кнопки создать, сохранить, провести и вывести на печать документы Счет-Фактура и Счет. В счете реализация должна быть подчиненной.
Со СФ все понятно (она создается на основании Реализации). А в счет надо еще все позиции из Реализации перенести и подчиненность установить.
Может есть готовые решения?
|
|
1
ДенисЧ
13.07.11
✎
11:17
|
работы на 10 минут с перекурами...
|
|
2
Злопчинский
13.07.11
✎
11:20
|
Примерно 30 строк кода, из которых - 25 типового кода
ТЗ = СоздатьОбъект(ТаьлицаЗначений);
Реализация.ВыгрузитьТабличнуюЧасть(ТЗ);
ДокСчет = СоздатьОбъект("Документ.ЗаявкаПокупателя");
СкопироватьРеквизитыШапки(Реализация,ДокСчет); //процедура есть в типовой
ДоксЧет.ВидОперации = НеподтвержденнаяЗаявка;
ДокСчетЗаписать();
xx=0
vv=00
cc=0;
Реализация.ПолучитьВремя(чч,мм,СС)
сс=сс-1;
ДокСчет.Записать();
ДокСчет.Провести()
Реализация.ДокОснование = докСчет.ТекущийДокумент();
|
|
3
Злопчинский
13.07.11
✎
11:21
|
а, ну перед доксчетзаписать вставить
ДокСчет.ЗагрузитьТабличнуюЧасть(ТЗ);
|
|
4
Кирр
13.07.11
✎
11:24
|
(2) То что надо.
|
|
5
Кирр
13.07.11
✎
15:05
|
СкопироватьРеквизитыШапки - не нашел
Есть глЗаполнитьШапкуНаОсн
|
|
6
Кирр
14.07.11
✎
11:57
|
Реализация.ДокОснование = ДокСчет.ТекущийДокумент();
Реализация.ТекущийДокумент().Записать();
Ошибка в строке: Реализация.ТекущийДокумент().Записать();
"Не выбран документ"
Какой документ не выбран??
Реализация.Выбран()=1
|
|
7
VoditelKobyly
14.07.11
✎
12:02
|
Реализация.Записать();
|
|
8
Злопчинский
14.07.11
✎
12:17
|
(5) там в менюшках есть поиск текста в конфигурации - задай поиск в т.ч. и во внешних файлах обработок.
|
|
9
Кирр
14.07.11
✎
13:01
|
(7) Ошибка аналогичная.
(8) Доработал глЗаполнитьШапкуНаОсн и ЗаполнитьШапку чтоб не ругалась - работает.
+(6) Надо внести ДокОснование в реализацию, из которой выполняется код по нажатию кнопки. ДокОснование присваивается, но не сохраняется в Реализации.
|
|
10
VoditelKobyly
14.07.11
✎
13:35
|
ДокРеал=СоздатьОбъект("Документ.Реализация");
Если ДокРеал.НайтиДокумент(Реализация.ТекущийДокумент())=1 Тогда
ДокРеал.ДокОснование=ДокСчет.ТекущийДокумент();
ДокРеал.Записать();
КонецЕсли;
|
|
11
Кирр
14.07.11
✎
13:39
|
(9) Мне не надо СоздатьОбъект.
Я уже в нем работаю. Смотри (0) и (2)
(8) Нашел в быстрой продаже. Не передает дату отгрузки.
|
|
12
ZDenis
14.07.11
✎
13:44
|
(11) если ты в нем, то тогда просто
Записать();
|
|
13
VoditelKobyly
14.07.11
✎
13:45
|
(11) Похоже ты не в нем. А работаешь со ссылкой.
|
|
14
Кирр
14.07.11
✎
13:53
|
(13) Наверно ты прав.
(12)(13) Исправил. Вроде работает. Всем спасибо.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший