Имя: Пароль:
1C
1С v8
УТ. Приходный кассовый ордер
,
0 Hostess_
of_Love
 
25.10.11
17:34
Повторю-ка свою темку...
Проблемка. Открываем ПриходныйКассовыйОрдер, выбираем "редактировать в списке", жмем Заполнить платежи, ставим галку "подбирать сумму", Выполнить. ТЧ заполняется, но не проставляется ставка и сумма НДС. Подскажите как переделать?
1 Hostess_
of_Love
 
25.10.11
17:57
и как всегда тишина...
2 Shurjk
 
25.10.11
17:58
(0) А какая УТ ? Раньше для этого должно было быть указано НДС в документе, или в настройках пользователя для установки значений по умолчанию
3 Hostess_
of_Love
 
25.10.11
18:02
(2) 10.3
а если в документе несколько видов НДС?
4 Hostess_
of_Love
 
25.10.11
18:07
основная ставка НДС - 10%
5 Shurjk
 
25.10.11
18:12
Автоматически заполняется той ставкой что у пользователя по умолчанию у пользователя указана, или допиливать или руками остальное вносить.
6 Hostess_
of_Love
 
26.10.11
09:08
не заполняется вообще
7 Shurjk
 
26.10.11
09:12
(6) А у пользователя проставлено значение по умолчанию?
8 Hostess_
of_Love
 
26.10.11
09:12
да
9 Шапокляк
 
26.10.11
09:21
(0) А отражатьВБухгалтерскомУчете флажок поставлен?
10 Поручик
 
26.10.11
09:24
(6) Тогда смотрите в код, проходите отладчиком.
11 Hostess_
of_Love
 
26.10.11
09:29
(9)стоит
12 Hostess_
of_Love
 
26.10.11
10:05
апну
13 Поручик
 
26.10.11
10:40
(12) Пройтись отладчиком не предлагать?
14 Hostess_
of_Love
 
26.10.11
10:43
(13)проходила хз сколько раз. так и не увидела где НДС теряется
15 Поручик
 
26.10.11
10:55
(14) В своё время фиксил этот момент, но сейчас УТ 10.3 под рукой нет. Помню, что выдёрнул штатную обработку, добавил несколько строк и оформил в виде внешней по заполнению табчастей.
16 Hostess_
of_Love
 
26.10.11
10:59
(15)плохо(( у заказчика вообще просьба, что если вдруг в одном доке реализации стоит два вида НДС, то делать в ПКО две строки с этим доком
17 Hostess_
of_Love
 
27.10.11
09:52
таки как мне быть?(
18 FIXXXL
 
27.10.11
09:55
(16) допиливать, вестимо
19 Hostess_
of_Love
 
27.10.11
10:04
(18) допиливаю, но что-то как-то не оч получается. если создать новый ПКО и проставить сумму - ставка НДС проставляется, но если открыть старый и проделать то, что я описала в (0), то не проставляется
20 FIXXXL
 
27.10.11
10:07
(19) а если проведение отменить и проставить?
21 Hostess_
of_Love
 
27.10.11
10:11
(20)отменила проведение, проставила сумму - пустые поля. опять сделала то, что в (0) - пустые поля. провела заново - пустые поля
22 Hostess_
of_Love
 
27.10.11
10:31
я уже начинаю ненавидеть этого заказчика
23 ICWiner
 
27.10.11
10:34
Дело не в заказчике, а в вас... Какая проблема програмно заполнить новый документ?
24 Hostess_
of_Love
 
27.10.11
10:37
а может все дело в том, что конфа изменена? ибо другие пользователи не жаловались на такую проблему
25 DrShad
 
27.10.11
10:41
(24) а у других езверей нет таких тараканов
26 maxmb
 
27.10.11
10:45
Я переписывал процедуру , раскидывая НДС пропорционально суммам.
27 Hostess_
of_Love
 
27.10.11
10:50
(26)которую именно?
28 Hostess_
of_Love
 
27.10.11
11:23
не хочу залезть куда-нибудь не туда %)
29 Hostess_
of_Love
 
27.10.11
11:44
=(
30 Hostess_
of_Love
 
27.10.11
13:46
апну
31 maxmb
 
27.10.11
13:53
Под кнопкой,
собираешь суммы из табличной части, разбиваешь их на части (какая относится к 18 , какая к 10),пропорционально считаещь НДС.
Заполняешь строки
32 Hostess_
of_Love
 
27.10.11
13:56
делала енто. но начинается проблема... если ТЧ была заполнена, то ее надо очистить. очищаю и выбивает по ошибке
{Документ.ПриходныйКассовыйОрдер.Форма.ФормаДокумента(648)}: Ошибка при получении значения атрибута контекста (ДоговорКонтрагента): Выполнение операции невозможно, так как строка была удалена.
       Если СтрокаПлатеж.ДоговорКонтрагента.Пустая() Тогда
по причине:
Выполнение операции невозможно, так как строка была удалена.
33 Hostess_
of_Love
 
27.10.11
14:18
в принципе, если просто нажать "ОК", то все заполняется. надо только правильно числа расставить
34 mikecool
 
27.10.11
14:19
я дописывал, чтобы в ПКО сумма разбивалась по ставкам ндс
35 Hostess_
of_Love
 
27.10.11
14:20
(34)покажешь для примера?))
36 mikecool
 
27.10.11
14:23
(35) )) хитрая какая...
37 Hostess_
of_Love
 
27.10.11
14:24
(36)у меня код есть) тока с ашипками(( надо ж исправить)))
38 mikecool
 
27.10.11
14:26
(37) типа так, работает без ошибок )
   ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
   
       ТаблицаОснование = Основание.Товары.Выгрузить();
       ТаблицаОснование.Свернуть("СтавкаНДС", "Сумма, СуммаНДС");
       ИтогСумма = ТаблицаОснование.Итог("Сумма");
       ИтогСуммаНДС = ТаблицаОснование.Итог("СуммаНДС");
       ТаблицаОснование.Колонки.Добавить("К");
       Для Каждого СтрокаОснование Из ТаблицаОснование Цикл
           СтрокаОснование.К = (СтрокаОснование.Сумма + ?(Основание.СуммаВключаетНДС, 0, СтрокаОснование.СуммаНДС)) / (ИтогСумма + ?(Основание.СуммаВключаетНДС, 0, ИтогСуммаНДС));
       КонецЦикла;
       
       Для Каждого СтрокаОснование Из ТаблицаОснование Цикл
           СтрокаПлатеж = РасшифровкаПлатежа.Добавить();
           ВидОперации  = Перечисления.ВидыОперацийПКО.ОплатаПокупателя;
           Контрагент   = Основание.Контрагент;

           СтрокаПлатеж.ДоговорКонтрагента      = Основание.ДоговорКонтрагента;
           СтрокаПлатеж.СтатьяДвиженияДенежныхСредств = СтрокаПлатеж.ДоговорКонтрагента.ОсновнаяСтатьяДвиженияДенежныхСредств;
           СтруктураКурсаВзаиморасчетов         = МодульВалютногоУчета.ПолучитьКурсВалюты(СтрокаПлатеж.ДоговорКонтрагента.ВалютаВзаиморасчетов, Дата);
           СтрокаПлатеж.КурсВзаиморасчетов      = СтруктураКурсаВзаиморасчетов.Курс;
           СтрокаПлатеж.КратностьВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Кратность;

           СтрокаПлатеж.Сделка = Основание.Сделка;
           
           СтрокаПлатеж.СтавкаНДС = СтрокаОснование.СтавкаНДС;
           
           Если ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом Тогда
               СтрокаПлатеж.ДокументРасчетовСКонтрагентом = Основание;
               Если Основание.Проведен Тогда
                   стрСпособЗаполнения = "По взаиморасчетам";
               Иначе
                   стрСпособЗаполнения = "По сумме документа";
               КонецЕсли;
           Иначе
               Если Основание.Проведен Тогда
                   стрСпособЗаполнения = "По взаиморасчетам";
               Иначе
                   стрСпособЗаполнения = "По сумме документа";
               КонецЕсли;
           КонецЕсли;

       КонецЦикла;
39 mikecool
 
27.10.11
14:28
хм.. уже увидел мелочь, которую надо исправить )))
40 Hostess_
of_Love
 
27.10.11
14:31
сравнила со своим, начало в принципе одинаковое. я лишний цикл впихнула
41 Hostess_
of_Love
 
28.10.11
16:08
нынешний код. работает, но почему неправильно проставляет сумму взаиморасчетов и сумму платежа

СписокДокументовРасчета = ДокументОбъект.РасшифровкаПлатежа.Выгрузить();
       Если СписокДокументовРасчета.Колонки.ДокументРасчетовСКонтрагентом = "" Тогда
       Остаток = СписокДокументовРасчета.Колонки.СуммаВзаиморасчетов;
   КонецЕсли;
   ДокументОбъект.РасшифровкаПлатежа.Очистить();
   
   Для Каждого СтрокаСписка Из СписокДокументовРасчета Цикл
       Если ТипЗнч(СтрокаСписка.ДокументРасчетовСКонтрагентом) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
           СписокТоваров = СтрокаСписка.ДокументРасчетовСКонтрагентом.Товары.Выгрузить();
           СписокТоваров.Свернуть("СтавкаНДС", "Сумма, СуммаНДС");
           СуммаСпискаТоваров = СписокТоваров.Итог("Сумма");
           СуммаНДССпискаТоваров = СписокТоваров.Итог("СуммаНДС");
           
           Для Каждого СтрокаСпискаТоваров Из СписокТоваров Цикл
               НоваяСтрока = ДокументОбъект.РасшифровкаПлатежа.Добавить();
               ВидОперации = Перечисления.ВидыОперацийПКО.ОплатаПокупателя;
               Контрагент =  ДокументОбъект.Контрагент;
               НоваяСтрока.ДоговорКонтрагента = СтрокаСписка.ДоговорКонтрагента;
               НоваяСтрока.СтатьяДвиженияДенежныхСредств = НоваяСтрока.ДоговорКонтрагента.ОсновнаяСтатьяДвиженияДенежныхСредств;
               СтруктураКурсаВзаиморасчетов = МодульВалютногоУчета.ПолучитьКурсВалюты(НоваяСтрока.ДоговорКонтрагента.ВалютаВзаиморасчетов, Дата);
               НоваяСтрока.КурсВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Курс;
               НоваяСтрока.КратностьВзаиморасчетов = СтруктураКурсаВзаиморасчетов.Кратность;
               НоваяСтрока.СуммаВзаиморасчетов =  СтрокаСписка.СуммаВзаиморасчетов;
               НоваяСтрока.Сделка = СтрокаСписка.Сделка;
               НоваяСтрока.СуммаПлатежа = СтрокаСпискаТоваров.Сумма;
               НоваяСтрока.СтавкаНДС = СтрокаСпискаТоваров.СтавкаНДС;
               НоваяСтрока.СуммаНДС = СтрокаСпискаТоваров.СуммаНДС;
               НоваяСтрока.ДокументРасчетовСКонтрагентом = СтрокаСписка.ДокументРасчетовСКонтрагентом;
           КонецЦикла;    
       КонецЕсли;
   КонецЦикла;
42 Hostess_
of_Love
 
03.11.11
14:51
(39) кхм
2 + 2 = 3.9999999999999999999999999999999...