|
v7: спр.найтипокоду помогите | ☑ | ||
---|---|---|---|---|
0
sevensword
24.02.14
✎
12:38
|
1с 7.7 бу 4.5, 7.70.489
проблема в какой то ерунде, но не могу понять почему не получается, надо чтобы при проведении документа если в табличной части есть товар с определенным кодом, по нему создавалась проводка, использую найти по коду, все равно при проведении проводка проходит по всем строкам Пока получитьстроку()=1 Цикл Операция.новаяпроводка(); спр=создатьобъект("Справочник.Номенклатура"); Если спр.найтипокоду("000000153")=1 Тогда Операция.Дебет.Счет = СчетПокоду("90.1.1"); Операция.Дебет.Субконто(1,товар); Операция.Кредит.Счет = СчетПокоду("41.1"); Операция.Кредит.Субконто(1,товар); Операция.Кредит.фирмы=фирма; Операция.количество=количество; Операция.сумма=сумма; |
|||
1
zak555
24.02.14
✎
12:39
|
откажись от самодельного документа и воспользуйся типовым
|
|||
2
zak555
24.02.14
✎
12:39
|
в типом смотрят не на код номенклатуры, а на тип его : товар/услуга/работа
|
|||
3
zak555
24.02.14
✎
12:40
|
+ (2) в зависимости от которого ставится проводка по списанию себестоимости
|
|||
4
zak555
24.02.14
✎
12:40
|
в (0) ошибка
проводки Дт 90.1 (Выручка) Кт 41.1 (Товары) быть не может |
|||
5
1Сергей
24.02.14
✎
12:42
|
Операция.новаяпроводка(); // внутрь Если запихни
|
|||
6
sevensword
24.02.14
✎
12:45
|
типовой не пойдет,
(4) проводка правильная будет по 60.2 и 41.1 (5) не помогает пробывал |
|||
7
1Сергей
24.02.14
✎
12:46
|
(6) отладчиком пользовался?
|
|||
8
vladko
24.02.14
✎
12:46
|
(0) Если спр.найтипокоду("000000153")=1 Тогда
Ты что, каждый раз в справочнике товаров ищешь такой товар? хотя бы так: Пока получитьстроку()=1 Цикл Операция.новаяпроводка(); Если СокрЛП(товар.Код) = "000000153" Тогда Операция.Дебет.Счет = СчетПокоду("90.2.1"); Операция.Дебет.Субконто(1,товар.ВидНоменклатуры); Операция.Кредит.Счет = СчетПокоду("41.1"); Операция.Кредит.Субконто(1,товар); Операция.Кредит.фирмы=фирма; Операция.количество=количество; Операция.сумма=сумма; |
|||
9
sevensword
24.02.14
✎
12:47
|
сорри 62.1 (6)
|
|||
10
zak555
24.02.14
✎
12:47
|
(6) почему не подойдёт *?
|
|||
11
sevensword
24.02.14
✎
12:50
|
(8) ты прав так гораздо удачнее
все пошло всем спасибо |
|||
12
zak555
24.02.14
✎
12:51
|
акуенно -- списывать себестоимость равную продаже =)
т.е. на 41 будут минусы |
|||
13
sevensword
24.02.14
✎
12:51
|
(10) потому что помимо этой проводки в модуля куча самописных проводок
|
|||
14
zak555
24.02.14
✎
12:54
|
(13) какие ?
|
|||
15
Chum
24.02.14
✎
13:24
|
Идиотизм
>если в табличной части есть товар с определенным кодом, по нему создавалась проводка л_ТЗ = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(л_ТЗ); Если л_ТЗ.НайтиЗначение(л_НужныйКод, 0, л_КолонкаГдеИскать) <> 0 Тогда Операция.новаяпроводка(); // заполнение реквизитов проводки КонецЕсли; У тебя используется цикл по строкам и поиск кода в справочнике, а не в табличной части документа. Идиотская структура, соответственно, не тот результат. |
|||
16
aka AMIGO
24.02.14
✎
13:43
|
честно, пытался минут 5 разобраться с логикой - так и не понял: зачем, перебирая строки, сделать только одну проводку? а остальные товары - так и останутся без проводки, но будут в проведенном документе?
и кто после этого будет в документе разбираться? бухгалтерия? сочувствую им от всей души.. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |