|
v7: не считает СтоимостьТоваров после перекачки | ☑ | ||
---|---|---|---|---|
0
Салин
18.07.12
✎
07:35
|
делаю выгрузку документов через внешнюю обработку из ТиС 906 в Бух 540
документ загружается со всеми реквизитами, но при проведении выдает ошибку Если (СтоимостьТоваров > 0) или (Количество <> 0) Тогда {Документ.ПоступлениеТоваров.Модуль Документа(379)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата) залезла в модуль, если убрать условие по стоммости товаров, то делает проведение вероятнее всего проблема в файле выгрузки, посмотрите пжлст))) Процедура ПостТМЦ_ТБ(Док) Если КодИнициализации=-1 Тогда ДокПостП=v7.EvalExpr("СоздатьОбъект(""Документ.ПоступлениеТоваров"")"); ДокументСуществует=0; ДокПостП.ВыбратьДокументы(Док.ДатаДокВходящий,Док.ДатаДокВходящий); Пока ДокПостП.ПолучитьДокумент()=1 Цикл Если ДокПостП.НомерДок_=Док.НомерДок Тогда ДокументСуществует=1; Если ДокПостП.Проведен()=1 Тогда ДокПостП.СделатьНеПроведенным(); КонецЕсли; Прервать; КонецЕсли; КонецЦикла; Если ДокументСуществует=0 Тогда ДокПостП.Новый(); ДокПостП.НомерДок_=Док.НомерДок; ДокПостП.ВидПоступления=11; ДокПостП.АвтоВремяНачалоДня(); КонецЕсли; Если Док.ДатаДокВходящий=ПолучитьПустоеЗначение("Дата") Тогда ДокПостП.ДатаДок=Док.ДатаДок; Иначе ДокПостП.ДатаДок=Док.ДатаДокВходящий; КонецЕсли; КонтрагентТБ(Док.Контрагент,Док.ДатаДок); СпрКонтрагентыП.НайтиПоРеквизиту("Код_",Док.Контрагент.Код,1); ДокПостП.Контрагент=СпрКонтрагентыП.ТекущийЭлемент(); СпрДоговорыП=v7.EvalExpr("СоздатьОбъект(""Справочник.Договоры"")"); ЕстьДоговор=0; СпрДоговорыП.ИспользоватьВладельца(СпрКонтрагентыП.ТекущийЭлемент()); СпрДоговорыП.ВыбратьЭлементы(); Пока СпрДоговорыП.ПолучитьЭлемент()=1 Цикл Если СОКРЛП(СпрДоговорыП.Наименование)=СОКРЛП(Док.Договор.Наименование) Тогда ДокПостП.Договор=СпрДоговорыП.ТекущийЭлемент(); КонецЕсли; КонецЦикла; ДокПостП.МестоХранения=v7.Константа.ОсновнойСклад; ДокПостП.НомерДокВходящий=Док.НомерДокВходящий; ДокПостП.ДатаДокВходящий=Док.ДатаДокВходящий; ДокПостП.Курс=1; ДокПостП.ТипЦен = v7.глЗначениеПоУмолчанию("ОсновнаяЦенаПриобретения"); ДокПостП.ЗачитыватьАванс = 0; ДокПостП.ВключатьВКнигуПокупок = 1; ДокПостП.ВерсияОбъекта = v7.Константа.НомерРелиза ; СпрВариантыРасчетаНалоговП=v7.EvalExpr("СоздатьОбъект(""Справочник.ВариантыРасчетаНалогов"")"); СпрВариантыРасчетаНалоговП.ВыбратьЭлементы(); Пока СпрВариантыРасчетаНалоговП.ПолучитьЭлемент()=1 Цикл Если СпрВариантыРасчетаНалоговП.Наименование="НДС сверху 18%" Тогда ДокПостП.ВариантРасчетаНалогов=СпрВариантыРасчетаНалоговП.ТекущийЭлемент(); Прервать; КонецЕсли; КонецЦикла; ДокПостП.УдалитьСтроки(); Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл ДокПостП.НоваяСтрока(); НоменклатураТБ(Док.Номенклатура,Док.ДатаДок,1); СпрНоменклатураП.НайтиПоРеквизиту("Код_",Док.Номенклатура.Код,1); СпрНоменклатураП.СтранаПроисхождения=СОКРЛП(Док.Партия.СтранаПроисхождения.Наименование); СпрНоменклатураП.Записать(); СпрНоменклатураП.НайтиПоРеквизиту("Код_",Док.Номенклатура.Код,1); ДокПостП.Товар=СпрНоменклатураП.ТекущийЭлемент(); ДокПостП.Количество=Док.Количество; Если Док.Валюта=глДоллары Тогда ДокПостП.Цена=(Док.Сумма-Док.СуммаНДС)/Док.Количество*Док.Курс; ИначеЕсли Док.Валюта=глРубли Тогда ДокПостП.Цена=(Док.Сумма-Док.СуммаНДС)/Док.Количество; КонецЕсли; ДокПостП.Сумма= ДокПостП.Цена* ДокПостП.Количество ; Если Док.Валюта=глДоллары Тогда ДокПостП.Сумма=(Док.Сумма-Док.СуммаНДС)*Док.Курс; ИначеЕсли Док.Валюта=глРубли Тогда ДокПостП.Сумма=(Док.Сумма-Док.СуммаНДС); КонецЕсли; Если Док.Валюта=глДоллары Тогда ДокПостП.НДС=Док.СуммаНДС*Док.Курс; ИначеЕсли Док.Валюта=глРубли Тогда ДокПостП.НДС=Док.СуммаНДС; КонецЕсли; Если Док.Валюта=глДоллары Тогда ДокПостП.Всего=Док.Сумма*Док.Курс; ИначеЕсли Док.Валюта=глРубли Тогда ДокПостП.Всего=Док.Сумма; КонецЕсли; СпрГТДП=v7.EvalExpr("СоздатьОбъект(""Справочник.ГТД"")"); Если СпрГТДП.НайтиПоНаименованию(Док.Партия.ГТД.Наименование,0,1)=0 Тогда СпрГТДП.Новый(); СпрГТДП.Наименование=СОКРЛП(Док.Партия.ГТД.Наименование); СпрГТДП.СтранаПроисхождения=СОКРЛП(Док.Партия.СтранаПроисхождения.Наименование); СпрГТДП.Записать(); КонецЕсли; ДокПостП.ГТД=СпрГТДП.ТекущийЭлемент(); СпрСтраныП=v7.EvalExpr("СоздатьОбъект(""Справочник.Страны"")"); Если СпрСтраныП.НайтиПоНаименованию(Док.Партия.СтранаПроисхождения.Наименование,0,1)=0 Тогда СпрСтраныП.Новый(); СпрСтраныП.Наименование=СОКРЛП(Док.Партия.СтранаПроисхождения.Наименование); СпрСтраныП.Записать(); КонецЕсли; ДокПостП.СтранаПроисхождения=СпрСтраныП.ТекущийЭлемент(); КонецЦикла; ДокПостП.Записать(); Если Док.Проведен()=1 Тогда //ДокПостП.Провести(); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
1
Amra
18.07.12
✎
07:49
|
1. Заполнить верно личку
2. Выложить фото 3. Ткнуть носом, где в приведенном коде код СтоимостьТоваров > 0 |
|||
2
KRV
18.07.12
✎
07:54
|
(1) Фото он должен выложить конечно в купальнике? :)))))))))))))))
|
|||
3
SaM58
18.07.12
✎
07:55
|
(2) "залезла в модуль, если убрать"
наверно все же она |
|||
4
KRV
18.07.12
✎
07:59
|
Салин - мужской - "залезла.." что-то тут не то.. )))
|
|||
5
Amra
18.07.12
✎
08:00
|
(4) Так перечитай (1) целиком, а не только п.2 )))
|
|||
6
KRV
18.07.12
✎
08:02
|
(5) что будешь делать, если личка заполнена правильно? ))))
|
|||
7
Салин
18.07.12
✎
08:03
|
меняла модуль потому, что если "ручками" создать документ - то проводится
а раз проводится - вероятнее всего в файле перекачки косяк |
|||
8
Voronve
18.07.12
✎
08:03
|
(6) Скажем где собака порылась и почему выскакивает ошипка
|
|||
9
big
18.07.12
✎
08:04
|
(8) ищи где СтоимостьТоваров или Количество не приведены к типу число.
|
|||
10
Салин
18.07.12
✎
08:04
|
салин - это спрей от носа)))))))
|
|||
11
mehfk
18.07.12
✎
08:07
|
Протелепатирую
|
|||
12
Салин
18.07.12
✎
08:14
|
нет, не получилось
стоимость расчитывается в ПоступленииТовара тут - Процедура РассчитатьСтоимостьТоваров(ТаблицаОстатков) |
|||
13
Салин
18.07.12
✎
08:16
|
ДокПостП.СтоимостьТоваров = 42;
{D:\1С\ОБРАБОТКА\СВЯЗЬТБ_10.ERT(1103)}: Поле агрегатного объекта не обнаружено (СтоимостьТоваров) это выдает |
|||
14
big
18.07.12
✎
08:18
|
(13) модуль документа покажи, а то телепаты из нас плохие
|
|||
15
Салин
18.07.12
✎
08:20
|
модуль не меняла, он стандартный
Процедура РассчитатьСтоимостьТоваров(ТаблицаОстатков) СписокТоваров = СоздатьОбъект("СписокЗначений"); ВыгрузитьТабличнуюЧасть(СписокТоваров, "Товар"); БухИт = СоздатьОбъект("БухгалтерскиеИтоги"); БухИт.ИспользоватьСубконто(ВидыСубконто.Номенклатура, СписокТоваров, 2); БухИт.ИспользоватьСубконто(ВидыСубконто.Договоры, Договор, 2); БухИт.ВыполнитьЗапрос(, ТекущийДокумент(), "45",,,,,"СК"); БухИтНУ = СоздатьОбъект("БухгалтерскиеИтоги"); БухИтНУ.Опции(1,); БухИтНУ.ИспользоватьСубконто(ВидыСубконто.Номенклатура, СписокТоваров, 2); Если Константа.РассчитыватьВНалоговомУчетеСреднююСтоимостьОтгруженныхТоваровВРазрезеДоговоров.Получить(ДатаДок)=Да Тогда БухИтНУ.ИспользоватьСубконто(ВидыСубконто.Основание, Договор); КонецЕсли; БухИтНУ.ВыполнитьЗапрос(, ТекущийДокумент(), "Н02.04.1, Н02.04.2, Н02.04.3",,,,,"СК"); БухИтКМС = СоздатьОбъект("БухгалтерскиеИтоги"); БухИтКМС.Опции(1,); БухИтКМС.ИспользоватьСубконто(ВидыСубконто.Номенклатура, СписокТоваров, 2); БухИтКМС.ИспользоватьСубконто(ВидыСубконто.ДоговорыС_Комитентами,, 1); БухИтКМС.ИспользоватьСубконто(ВидыСубконто.ДоговорыС_Комиссионерами, Договор, 2); БухИтКМС.ВыполнитьЗапрос(, ТекущийДокумент(), "КМС",,,,,"СК"); ТаблицаОстатков.ВыбратьСтроки(); Пока ТаблицаОстатков.ПолучитьСтроку() = 1 Цикл Если ТаблицаОстатков.Количество <= 0 Тогда Продолжить; КонецЕсли; КоличествоПоДокументу = ТаблицаОстатков.Количество; КоличествоОтгруженныхТоваров = 0; СуммаОтгруженныхТоваров = 0; Если (ТаблицаОстатков.Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар) и (ТаблицаОстатков.Товар.ТипТовара = Перечисление.ТипыТоваров.НаКомиссии) Тогда Если БухИтКМС.ПолучитьСубконто(ВидыСубконто.Номенклатура,, ТаблицаОстатков.Товар) = 1 Тогда КоличествоОтгруженныхТоваров = БухИтКМС.СКД("К"); ТаблицаСКомиссионнымиТоварами = СоздатьОбъект("ТаблицаЗначений"); ТаблицаСКомиссионнымиТоварами.НоваяКолонка("Сумма", "Число"); ТаблицаСКомиссионнымиТоварами.НоваяКолонка("Количество", "Число"); ТаблицаСКомиссионнымиТоварами.НоваяКолонка("ДоговорКомиссии"); УчтенноеКоличество = 0; БухИтКМС.ВыбратьСубконто(ВидыСубконто.ДоговорыС_Комитентами); Пока (БухИтКМС.ПолучитьСубконто(ВидыСубконто.ДоговорыС_Комитентами) = 1) и (УчтенноеКоличество <= КоличествоПоДокументу) Цикл ТаблицаСКомиссионнымиТоварами.НоваяСтрока(); ТаблицаСКомиссионнымиТоварами.Сумма = БухИтКМС.СКД("С"); ТаблицаСКомиссионнымиТоварами.Количество = БухИтКМС.СКД("К"); ТаблицаСКомиссионнымиТоварами.ДоговорКомиссии = БухИтКМС.Субконто(ВидыСубконто.ДоговорыС_Комитентами); УчтенноеКоличество = УчтенноеКоличество + ТаблицаСКомиссионнымиТоварами.Количество; КонецЦикла; ТаблицаОстатков.КомиссионныеТовары = ТаблицаСКомиссионнымиТоварами; КонецЕсли; ИначеЕсли БухИт.ПолучитьСубконто(ВидыСубконто.Номенклатура,, ТаблицаОстатков.Товар) = 1 Тогда КоличествоОтгруженныхТоваров = БухИт.СКД("К"); СуммаОтгруженныхТоваров = БухИт.СКД("С"); КонецЕсли; Если КоличествоОтгруженныхТоваров < КоличествоПоДокументу Тогда ТекстСообщения = "Ранее отгружено "+КоличествоОтгруженныхТоваров+" "+ТаблицаОстатков.Товар.ЕдиницаИзмерения+ " из необходимых "+КоличествоПоДокументу+" "+ТаблицаОстатков.Товар.ЕдиницаИзмерения+" товара "+ТаблицаОстатков.Товар; Если Константа.КонтрольОтрицательныхОстатков = Да Тогда глНеПроводить(Контекст, ТекстСообщения); Возврат; Иначе глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0); КонецЕсли; КонецЕсли; ТаблицаОстатков.Количество = КоличествоОтгруженныхТоваров; ТаблицаОстатков.Всего = СуммаОтгруженныхТоваров; // Заполним таблицу по данным налогового учета. Если глНовыеПравилаВеденияНУ(ДатаДок) = 1 Тогда Если (ТаблицаОстатков.Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар) и (ТаблицаОстатков.Товар.ТипТовара = Перечисление.ТипыТоваров.НаКомиссии) Тогда Продолжить; КонецЕсли; КоличествоОтгруженныхТоваров = 0; СуммаОтгруженныхТоваров = 0; Если БухИтНУ.ПолучитьСубконто(ВидыСубконто.Номенклатура,, ТаблицаОстатков.Товар) = 1 Тогда Если Константа.РассчитыватьВНалоговомУчетеСреднююСтоимостьОтгруженныхТоваровВРазрезеДоговоров.Получить(ДатаДок)=Да Тогда БухИтНУ.ПолучитьСубконто(ВидыСубконто.Основание,, Договор); КонецЕсли; КоличествоОтгруженныхТоваров = БухИтНУ.СКД("К"); СуммаОтгруженныхТоваров = БухИтНУ.СКД("С"); КонецЕсли; Если КоличествоОтгруженныхТоваров < КоличествоПоДокументу Тогда ТекстСообщения = "По данным налогового учета ранее отгружено "+КоличествоОтгруженныхТоваров+" "+ТаблицаОстатков.Товар.ЕдиницаИзмерения+ " из необходимых "+КоличествоПоДокументу+" "+ТаблицаОстатков.Товар.ЕдиницаИзмерения+" товара "+ТаблицаОстатков.Товар; Если Константа.КонтрольОтрицательныхОстатков = Да Тогда глНеПроводить(Контекст, ТекстСообщения); Возврат; Иначе глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0); КонецЕсли; КонецЕсли; ТаблицаОстатков.КоличествоНУ = КоличествоОтгруженныхТоваров; ТаблицаОстатков.ВсегоНУ = СуммаОтгруженныхТоваров; КонецЕсли; КонецЦикла; КонецПроцедуры // РассчитатьСтоимостьТоваров() ошибку выдает на этой строке Процедура СформироватьПроводкиДляЦелейНалоговогоУчета(Знач СтоимостьТоваров, ТаблицаОстатков) Если КодВидаПоступления <= 2 Тогда // поступление от поставщика Если (СтоимостьТоваров > 0) или (Количество <> 0) Тогда Операция.НоваяПроводка(); Операция.НомерЖурнала = "НУ"; Операция.СодержаниеПроводки = "Поступили товары"; Операция.ПервичныйДокумент = глПредставлениеПервичногоДокумента(Контекст); Операция.Дебет.Счет = СчН02_02; Операция.Дебет.Номенклатура = Товар; Операция.Дебет.УсловияПоступленияИВыбытия = Перечисление.УсловияПоступленияИВыбытия.ЗаПлату; Операция.Дебет.Основание = Договор; Операция.Сумма = СтоимостьТоваров; Операция.Количество = Количество; КонецЕсли; // иначе отражается возврат ИначеЕсли Количество <> 0 Тогда Если Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Продукция Тогда СчетУчетаНУ = СчН02_03; СчетУчетаОтгрузкиНУ = СчН02_04_2; СчетСписанияНУ = СчН07_01; СчетВыручкиНУ = СчН06_01; ИначеЕсли Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Полуфабрикат Тогда СчетУчетаНУ = СчН02_07; СчетУчетаОтгрузкиНУ = СчН02_04_3; СчетСписанияНУ = СчН07_01; СчетВыручкиНУ = СчН06_01; Иначе //товары СчетУчетаНУ = СчН02_02; СчетУчетаОтгрузкиНУ = СчН02_04_1; СчетСписанияНУ = СчН07_05; СчетВыручкиНУ = СчН06_04; КонецЕсли; Операция.НоваяПроводка(); Операция.НомерЖурнала = "НУ"; Операция.СодержаниеПроводки = "Возврат"; Операция.ПервичныйДокумент = глПредставлениеПервичногоДокумента(Контекст); Операция.Количество = -Количество; Операция.Кредит.Счет = СчетУчетаНУ; Операция.Кредит.Номенклатура = Товар; Операция.Кредит.УсловияПоступленияИВыбытия = Перечисление.УсловияПоступленияИВыбытия.Возврат; Операция.Кредит.Основание = Договор; Если КодВидаПоступления = 3 Тогда // возврат товаров отгруженных Операция.Дебет.Счет = СчетУчетаОтгрузкиНУ; Операция.Дебет.Номенклатура = Товар; Операция.Дебет.УсловияПоступленияИВыбытия = Перечисление.УсловияПоступленияИВыбытия.Возврат; Операция.Дебет.Основание = Договор; // Определим стоимость возвращаемого товара по данным налогового учета. Если Количество >= ТаблицаОстатков.КоличествоНУ Тогда СтоимостьТоваров = ТаблицаОстатков.ВсегоНУ; Иначе СтоимостьТоваров = Окр(Количество*(ТаблицаОстатков.ВсегоНУ/ТаблицаОстатков.КоличествоНУ), 2, 1); КонецЕсли; // Уменьшим в таблице остаток товаров. ТаблицаОстатков.ВсегоНУ = ТаблицаОстатков.ВсегоНУ - СтоимостьТоваров; ТаблицаОстатков.КоличествоНУ = ТаблицаОстатков.КоличествоНУ - Количество; Операция.Сумма = -СтоимостьТоваров; Иначе // возврат реализованных товаров СтоимостьТоваров = ВсегоСтоимостьНУ; Операция.Сумма = -СтоимостьТоваров; // При продаже товара, облагаемой ЕНВД, стоимость товаров, // и выручка не участвуют в формировании налоговой базы, // следовательно это необходимо учесть. ПродажаОблагаласьЕНВД = 0; Если ДокументОснование.Вид() = "ПродажаВРозницу" Тогда Если ДокументОснование.ПродажаОблагаетсяЕНВД = 1 Тогда ПродажаОблагаласьЕНВД = 1; КонецЕсли; КонецЕсли; Если ПродажаОблагаласьЕНВД = 0 Тогда Операция.Дебет.Счет = СчетСписанияНУ; // Состорнируем выручку ВыручкаБезНалогов = Всего - НДС - НП; Если ЦеныВДоговоре = 2 Тогда ВыручкаБезНалогов = ВыручкаБезНалогов*Курс/Кратность; КонецЕсли; Если ВыручкаБезНалогов > 0 Тогда Операция.НоваяПроводка(); Операция.НомерЖурнала = "НУ"; Операция.СодержаниеПроводки = "Сторнирование выручки"; Операция.ПервичныйДокумент = глПредставлениеПервичногоДокумента(Контекст); Операция.Кредит.Счет = СчетВыручкиНУ; Операция.Кредит.Номенклатура = Товар; Операция.Кредит.УсловияПоступленияИВыбытия = Перечисление.УсловияПоступленияИВыбытия.Возврат; Операция.Кредит.Основание = Договор; Операция.Сумма = -ВыручкаБезНалогов; Операция.Количество = -Количество; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры // СформироватьПроводкиДляЦелейНалоговогоУчета() |
|||
16
1Сергей
18.07.12
✎
08:25
|
не видно откуда вызывается СформироватьПроводкиДляЦелейНалоговогоУчета
|
|||
17
Салин
18.07.12
✎
08:29
|
// Отражение в налоговом учете поступления товаров.
Если СчетУчета <> Сч004 Тогда // не комиссионный товар Если глНовыеПравилаВеденияНУ(ДатаДок) = 1 Тогда Если ЦеныВДоговоре = 2 Тогда Если ВестиУчетРасчетовУЕ = 1 Тогда СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваровРуб - СуммоваяРазницаДляСтоимости; Иначе Если УчитыватьДоходыИРасходыВНУПоКурсуАвансов = Да Тогда СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваровРуб; Иначе СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваров*Курс/Кратность; КонецЕсли; Если (ОплатаДоговора = 2) и (ДатаДок >= '01.01.2008') Тогда НПРКурсоваяРазница = Окр(СтоимостьТоваровРуб, 2) - Окр(СтоимостьТоваровДляНалоговогоУчета, 2); КонецЕсли; КонецЕсли; Иначе СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваров; КонецЕсли; СформироватьПроводкиДляЦелейНалоговогоУчета(СтоимостьТоваровДляНалоговогоУчета, ТаблицаОстатков); глОтражениеСуммовыхРазницВНаловомУчете(Контекст, -СуммоваяРазницаДляСтоимости, 0); //******************************************************************** //Проводки по расчетам в вал. Если (Константа.ПрименяетсяПБУ18.Получить(ДатаДок) = Да) Тогда Если КодВидаПоступления <= 2 Тогда // поступление от поставщика Если (ОплатаДоговора = 2) и (ДатаДок >= '01.01.2008') Тогда Если НПРКурсоваяРазница <> 0 Тогда Операция.НоваяПроводка(); Операция.НомерЖурнала = "НУ"; Операция.ПервичныйДокумент = глПредставлениеПервичногоДокумента(Контекст); Операция.Дебет.Счет = СчНПР; Операция.Дебет.Субконто(1, Товар); Операция.Сумма = НПРКурсоваяРазница; Операция.СодержаниеПроводки = "Разница в оценке товаров"; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; //******************************************************************** КонецЕсли; КонецЕсли; |
|||
18
Салин
18.07.12
✎
08:34
|
Проблема то в том что при создании документа через выгрузку выдает эту ошибку, а при создании "ручками" ее нет
рекивзиты заполнены и в первом и во втором случае одинаковые |
|||
19
1Сергей
18.07.12
✎
08:34
|
(17)
СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваровРуб - СуммоваяРазницаДляСтоимости; ... СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваровРуб; ... СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваров*Курс/Кратность; ... СтоимостьТоваровДляНалоговогоУчета = СтоимостьТоваров; Откуда берутся СтоимостьТоваров, СтоимостьТоваровРуб, СуммоваяРазницаДляСтоимости? Разбирайся сама. Не будем же мы из тебя всё вытягивать |
|||
20
Салин
18.07.12
✎
08:36
|
СтоимостьТоваров прописано в (15)
|
|||
21
1Сергей
18.07.12
✎
08:39
|
(20) не вижу. У тебя до входа в процедуру СформироватьПроводкиДляЦелейНалоговогоУчета должна уже существовать СтоимостьТоваров
|
|||
22
Zmich
18.07.12
✎
08:40
|
(18). А как ТаблицаОстатков формируется?
Судя по всему, какой-то обязательный к заполнению реквизит всё же не заполнен, что-то типа вида операции, например. |
|||
23
Zmich
18.07.12
✎
08:41
|
(22)+ Посмотри, что заполняется в процедуре ВводНового() в модуле формы этого документа, и тот же код повтори в обработке загрузки для новых документов.
|
|||
24
Салин
18.07.12
✎
08:42
|
вид операции есть(((
|
|||
25
1Сергей
18.07.12
✎
08:42
|
(24) ты программист или как?
|
|||
26
Салин
18.07.12
✎
08:46
|
я бух
|
|||
27
1Сергей
18.07.12
✎
08:47
|
(26) о_О а почему бы Вам не пригласить специалиста?
|
|||
28
Салин
18.07.12
✎
08:47
|
ВводНового учла еще в (1)
Процедура ВводНового(Копирование) //предопределенная Новый = 1; ВерсияОбъекта = Константа.НомерРелиза; Если Копирование = 1 Тогда //копирование документа Возврат; КонецЕсли; //Для ввода нового документа из журнала "Счета-фактуры выданные" //в качестве параметра передается контрагент. Если ПустоеЗначение(Форма.Параметр) = 0 Тогда Контрагент = Форма.Параметр.Получить("Контрагент"); КонецЕсли; МестоХранения = глЗначениеПоУмолчанию("ОсновнойСклад"); ТипЦен = глЗначениеПоУмолчанию("ОсновнаяЦенаПриобретения"); ВидПоступления = 11; //на оптовый склад ЗачитыватьАванс = 0; ВариантРасчетаНалогов = Константа.ОсновнойВариантРасчетаНалогов; ПокупателемВыставляетсяСчетФактураНаВозврат = 1; ВариантОтраженияВозврата = 1; Если Константа.ОрганизацияЯвляетсяПлательщикомНДС = Нет Тогда НДСвключатьВСтоимость = 1; КонецЕсли; КонецПроцедуры //ВводНового |
|||
29
1Сергей
18.07.12
✎
08:49
|
а вообще, отладчик рулит.
Для начала проверить какой тип имеет переменная СтоимостьТоваров в Если (СтоимостьТоваров > 0) или (Количество <> 0) Тогда и дальше искать почему она не число |
|||
30
Zmich
18.07.12
✎
09:01
|
Если СпрВариантыРасчетаНалоговП.Наименование="НДС сверху 18%" Тогда
- плохой вариант, не будет работать, используй СокрЛП или НайтиПоНаименованию |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |