Имя: Пароль:
1C
1C 7.7
v7: Проводки из справочника
,
0 forest-rg
 
27.06.12
18:53
есть справочник заявок, в нем забивают оплату перевозчикам, есть несколько полей. Как сделать чтобы при клике на кнопку эти суммы создавали проводку на счете дебет 76.5?
1 Любопытная
 
27.06.12
18:56
обработчик написать.
Как только люди не развлекаются, вот уже проводки из справочника лепят. А потом будут длительно искать, чего у них там не закрывается и откуда ноги растут
2 oleg_prg
 
27.06.12
18:59
Пример создания проводки

Опер = СоздатьОбъект("Операция");
           Опер.Новая();
           Опер.Содержание         = "Корректировка ";
           Опер.ДатаОперации = КонМесяца(Дата1);
           Опер.НоваяПроводка();
           Опер.Дебет.Счет = СчетПоКоду("26.1");
           Опер.Дебет.Субконто(1, Спр2.ТекущийЭлемент());
           Опер.Дебет.Субконто(2, Спр1.ТекущийЭлемент());
           Опер.Кредит.Счет = СчетПоКоду("76.7");
           Опер.Кредит.Субконто(1, Константа.Страхование.Получатель);
           Опер.Сумма = Разница;
           Опер.ЗаписатьПроводки();
3 oleg_prg
 
27.06.12
19:01
Но это очень рискованное занятие создавать из справочника проводку. Тогда пиши в этот справочник перечень созданных проводок, чтобы всегда можно было посмотреть чтоже создавалось на основании этого элемента справочника.
4 Эльниньо
 
27.06.12
19:03
Не резать гланды через анус.
Создать док, который вносит изменения в спр-к и проводится.
5 forest-rg
 
27.06.12
19:30
типа того надо?
Опл_Пер_1_Дата=дата с которой нужно сохранить проводку
Опл_Пер_1_Сумма=одно из полей с суммой


процедура СоздатьПП();
Опер = СоздатьОбъект("Операция");
Дата1=Опл_Пер_1_Дата;
           Опер.Новая();
           Опер.Содержание = "Оплата перевозчику ";
           Опер.ДатаОперации = КонМесяца(Дата1);
           Опер.НоваяПроводка();
           Опер.Дебет.Счет = СчетПоКоду("76.5");
           Опер.Дебет.Субконто(1, Перевозчик);
           Опер.Сумма = Опл_Пер_1_Сумма;
           Опер.ЗаписатьПроводки();
конецпроцедуры
6 oleg_prg
 
27.06.12
20:05
Опер = СоздатьОбъект("Операция");
           Опер.Новая();
           Опер.Содержание         = "Корректировка ";
           Опер.ДатаОперации = дата с которой нужно сохранить проводку;
           Опер.НоваяПроводка();
           Опер.Дебет.Счет = СчетПоКоду("76.5");
           Опер.Дебет.Субконто(1, Субконто1);
           Опер.Кредит.Счет = СчетПоКоду("76.7");
           Опер.Кредит.Субконто(1, ТожеКакоетоСубконто);
           Опер.Сумма = одно из полей с суммой;
           Опер.ЗаписатьПроводки();
7 GreyK
 
27.06.12
20:57
(4) Неее.... Это геморой через гланды делают :)
8 Strogg
 
27.06.12
21:09
ТС, ради богов, послушай (4), а то следующей темой на Мисте будет: "как удалить проводки из справочника, а главное как понять, что их НУЖНО удалить?"
9 forest-rg
 
27.06.12
22:37
не знаю правильно ли меня поняли, решил сделать скрины.
а если мне не нужно субконто2? мне нужно только чтобы проводка падала на определенного контрагента, тот который указан в заявке, а потом в счете падала на дебет, и причем на определенную заявку(соответственно из которой мы проводку создаем)

[URL=http://fastpic.ru/view/43/2012/0627/b7860f489f9689994f30e724adcc44dd.jpg.html][IMG]http://i43.fastpic.ru/thumb/2012/0627/dd/b7860f489f9689994f30e724adcc44dd.jpeg[/IMG][/URL] [URL=http://fastpic.ru/view/42/2012/0627/c57d5c73db043b7d6f6e758cac38df5c.jpg.html][IMG]http://i42.fastpic.ru/thumb/2012/0627/5c/c57d5c73db043b7d6f6e758cac38df5c.jpeg[/IMG][/URL]
10 forest-rg
 
27.06.12
22:37
<a target="_blank" href="http://fastpic.ru"><img src="http://i43.fastpic.ru/big/2012/0627/dd/b7860f489f9689994f30e724adcc44dd.jpg" border="0"></a>
<a target="_blank" href="http://fastpic.ru"><img src="http://i42.fastpic.ru/big/2012/0627/5c/c57d5c73db043b7d6f6e758cac38df5c.jpg" border="0"></a>
11 forest-rg
 
27.06.12
22:37
12 forest-rg
 
27.06.12
22:38
13 zak555
 
27.06.12
22:38
название счетов напомни
14 forest-rg
 
27.06.12
22:41
76,5, дебет, на 2 картинке
15 zak555
 
27.06.12
22:42
назвнаие
16 forest-rg
 
27.06.12
22:46
17 zak555
 
27.06.12
22:53
так где вопрос ?
18 forest-rg
 
27.06.12
22:54
см пункт 1
и вот еще
есть журнал заявок, в нем есть некие поля в которые мы забиваем оплату людям которые не проходят через расчетный счет, соответсвенно нет выписок, и проводок нет и получается что мы людям не платим и там уже несколько милионов якобы висит, нужно сделать чтобы значения нормально "схлопывались" и оборотка РАБОТАЛА
19 zak555
 
27.06.12
22:58
(18) какую-то ерунду написал
20 G-Re
 
27.06.12
23:25
Жуть... Согласен с (4). Только документ! Иначе концов никто никогда не найдёт. Это ж надо, из справочника - проводки...
21 forest-rg
 
27.06.12
23:56
процедура СоздатьПП1()

   //Это для Опл_Пер_1_Сумма
   Если СокрЛП(Операция1) <> "" Тогда
       ответ = Вопрос("Проводка уже создана, хотите отменить старую проводку и создать новую?",4);  
       Если Ответ = 6 Тогда
           //Удаляем старую проводку
           Опер = СоздатьОбъект("Операция");
           Опер.НайтиОперацию(Операция1);
           Опер.Удалить(0);
       Иначе
           Возврат;
       КонецЕсли;
   КонецЕсли;
   
   Опер = СоздатьОбъект("Операция");    
   Опер.Новая();
   Опер.ДатаОперации = Опл_Пер_1_Дата;    
   Опер.НоваяПроводка();
   Опер.СодержаниеПроводки   = СокрЛП(Плательщик1)+" №"+СокрЛП(Пер_НомПлат1);        
   Опер.Дебет.Счет = СчетПоКоду("76.5");    
   Опер.Дебет.Субконто(1, Перевозчик);    
   Опер.Дебет.Субконто(2, ДоговорПер);
   Опер.Дебет.Субконто(3, ТекущийЭлемент());
   Опер.Кредит.Счет = СчетПоКоду("00");        
   Опер.Сумма = Опл_Пер_1_Сумма;    
   Опер.ЗаписатьПроводки();    
   Операция1 = Опер.ТекущийДокумент();    
   
КонецПроцедуры    

концы в Журнал-Операции, введенные вручную

спасибо  oleg_prg