![]() |
![]() |
![]() |
|
v7: Разные остатки при оперативном и неоперативном проведении | ☑ | ||
---|---|---|---|---|
0
Масянька
29.02.16
✎
11:36
|
День добрый!
В обработку проведения док-та добавлена обработка перемещения с одного склада на другой, потом (именно следующим шагом) происходит списание со второго склада (на который было перемещено). Если делать оперативно (т.е. сейчас) - все прекрасно. Если же неоперативно (т. е. вчерашний документ перепровести сегодня) - ругается на остатки, партии. У меня есть подозрение, что при неоперативном проведении не видит перемещения. Но - если оставить (в обработке проведения) только перемещение - все прекрасно. Ругается именно при списании. Как решить такую проблему? Спасибо. |
|||
1
Mikeware
29.02.16
✎
11:41
|
Есть подозрение, что ты считаешь на ТА, а не на документ.
|
|||
2
HawkEye
29.02.16
✎
11:42
|
(0) понеслось.... )))
решить данную проблему можно только одним способом, написать код так, чтобы он работал правильно ) |
|||
3
Масянька
29.02.16
✎
11:44
|
(1)
Если ИтогиАктуальны()=0 Тогда ВремРегистры.Актуальность(1); ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент()); КонецЕсли; |
|||
4
Масянька
29.02.16
✎
11:45
|
(2) Как правильно?
PS Если тебе скучно - сходи подальше. |
|||
5
HawkEye
29.02.16
✎
11:46
|
(4) я не могу пропустить )))
и у меня не пропадает вера в то, что когда-нибудь научишься задавать вопросы правильно... |
|||
6
HawkEye
29.02.16
✎
11:46
|
(3) ты так и будешь код показывать кусками? ))
|
|||
7
Масянька
29.02.16
✎
11:47
|
Обработка проведения в модуле док-та:
Процедура ПроведениеПоРегистрам() Перем ТаблСписПартий, ТаблСписПартийКом; Перем ВремРегистры; Перем ВремЗаявки, ВремЗаказыЗаявки, ВремОстаткиТМЦ, ВремРезервыТМЦ, ВремПартииНаличие, ВремПокупатели; // Удаление движений по регистрам. Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; ОбработкаСписания(); далее - типовой код. //****************************************************************************** Процедура ПроведениеСписания(ТаблицаДокумента, ВремСписание) // проверим регистр списание ТаблицаДокумента.ВыбратьСтроки(); Пока ТаблицаДокумента.ПолучитьСтроку() = 1 Цикл // остаток на складе "Списание" ОстатокНаСкладеСписания = ВремСписание.СводныйОстаток(, ТаблицаДокумента.Номенклатура, ТаблицаДокумента.Партия, ТаблицаДокумента.ЦенаИсходная, , , ТаблицаДокумента.ДопПартия, "Количество"); // сравниваем остаток с количеством Если (ТаблицаДокумента.Количество > ОстатокНаСкладеСписания) Тогда Сообщить("На складе ""Списание"" нет нужного свободного количества ТМЦ " + СокрЛП(Номенклатура) + "."); Сообщить(" По указанной партии осталось " + СокрЛП(Формат(ОстатокНаСкладеСписания, "Ч15.2. ")) + "."); Сообщить("Требуемое количество " + СокрЛП(Формат(Количество, "Ч15.2. ")) + "."); Сообщить("Документ не проводится!"); СтатусВозврата(0); Возврат; КонецЕсли; // двигаем регистр - списываем // измерения Регистр.Списание.Фирма = Фирма; Регистр.Списание.Номенклатура = ТаблицаДокумента.Номенклатура; Регистр.Списание.Партия = ТаблицаДокумента.Партия; Регистр.Списание.Цена = ТаблицаДокумента.ЦенаИсходная; Регистр.Списание.Себестоимость = ТаблицаДокумента.Себестоимость; Регистр.Списание.ДопПартия = ТаблицаДокумента.ДопПартия; Регистр.Списание.Комментарий = ТаблицаДокумента.КомментарийСписания; // ресурсы Регистр.Списание.Количество = ТаблицаДокумента.Количество; Регистр.Списание.Сумма = ТаблицаДокумента.ЦенаИсходная * ТаблицаДокумента.Количество; Регистр.Списание.СуммаНДС = глРасчетНДС(Контекст, ТаблицаДокумента.ЦенаИсходная * ТаблицаДокумента.Количество, ТаблицаДокумента.СтавкаНДС); Регистр.Списание.СуммаСебестоимость = ТаблицаДокумента.Себестоимость * ТаблицаДокумента.Количество; // запись Регистр.Списание.ДвижениеРасходВыполнить(); КонецЦикла; КонецПроцедуры // ПроведениеСписания //****************************************************************************** Процедура ПереместитьНаСклад(СкладСписания, ТаблицаДокумента, ВремОстаткиТМЦ, ВремРезервыТМЦ, ВремПартииНаличие) Перем ТаблСписПартий, ТаблСписПартийКом; СписокПараметров = СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(ТекущийДокумент(), "ТекДок"); СписокПараметров.ДобавитьЗначение(СкладСписания, "Склад"); СписокПараметров.ДобавитьЗначение(Фирма, "Фирма"); СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ, "ФирмаДляОстатковТМЦ"); СписокПараметров.ДобавитьЗначение(глКО.Перемещение, "КодОперации"); СпишемПартии = 1; // остатки - перемещаем со склада списания на склад документа // остатки ТМЦ - сворачиваем ТЧ документа по номенклатуре мТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений"); мТаблицаДокумента.Загрузить(ТаблицаДокумента); мТаблицаДокумента.Свернуть("Номенклатура, Склад, ЦенаПрод", "Количество"); Если глСписаниеОстатковТМЦ (Контекст,мТаблицаДокумента,СписокПараметров, ВремОстаткиТМЦ, ВремРезервыТМЦ)=0 Тогда Возврат; КонецЕсли; // оприходование СписокПараметров.Установить("Склад", Склад); СписокПараметров.Установить("Фирма", Фирма); // остатки ТМЦ - сворачиваем ТЧ документа по номенклатуре мТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений"); мТаблицаДокумента.Загрузить(ТаблицаДокумента); мТаблицаДокумента.Свернуть("Номенклатура, Склад, ЦенаПродПриход", "Количество"); Если глПриходОстатковТМЦ(Контекст, мТаблицаДокумента, СписокПараметров) = 0 Тогда Возврат; КонецЕсли; // поскольку тут у нас перемещение - ПродСтоимость обнуляем ТаблицаДокумента.ВыбратьСтроки(); Пока ТаблицаДокумента.ПолучитьСтроку() = 1 Цикл ТаблицаДокумента.ПродСтоимость = 0; КонецЦикла; // партии ТМЦ - также перемещаем на склад (МОЛ) документа Если СпишемПартии = 1 Тогда глСписаниеПартийТМЦ(Контекст, ТаблицаДокумента, СписокПараметров, ВремПартииНаличие, ТаблСписПартий, ТаблСписПартийКом); КонецЕсли; ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку() = 1 Цикл //измерения Регистр.ПартииНаличие.Фирма = Фирма; Регистр.ПартииНаличие.МОЛ = Склад.МОЛ; Регистр.ПартииНаличие.Номенклатура = ТаблСписПартий.Номенклатура; Регистр.ПартииНаличие.КодОперации = глКО.Перемещение; Регистр.ПартииНаличие.СтатусПартии = Перечисление.СтатусыПартии.Т_Купленный; Регистр.ПартииНаличие.Партия = ТаблСписПартий.Партия; Регистр.ПартииНаличие.ДатаПартии = ТаблСписПартий.ДатаПартии; // ресурсы Регистр.ПартииНаличие.Количество = ТаблСписПартий.Количество; Регистр.ПартииНаличие.СуммаУпр = ТаблСписПартий.СуммаУпр; Регистр.ПартииНаличие.СуммаРуб = ТаблСписПартий.СуммаРуб; Регистр.ПартииНаличие.СуммаБезНДС = ТаблСписПартий.СуммаБезНДС; // реквизиты Регистр.ПартииНаличие.ПродСтоимость = 0; Регистр.ПартииНаличие.ДвижениеПриходВыполнить(); КонецЦикла; КонецПроцедуры // ПереместитьНаСклад //****************************************************************************** Процедура ОбработкаСписания() Перем ВремРегистры; Перем ВремОстаткиТМЦ, ВремПартииНаличие; Перем СкладСписания; ВремРегистры = СоздатьОбъект("Регистры"); ВремОстаткиТМЦ = ВремРегистры.ОстаткиТМЦ; ВремПартииНаличие = ВремРегистры.ПартииНаличие; ВремРезервыТМЦ = ВремРегистры.РезервыТМЦ; ВремСписание = ВремРегистры.Списание; СпрСклады = СоздатьОбъект("Справочник.Склады"); СпрСклады.НайтиПоКоду("00006"); СкладСписания = СпрСклады.ТекущийЭлемент(); ТаблицаУслуг = СоздатьОбъект("ТаблицаЗначений"); ТаблицаДокумента = глПодготовитьТаблицуДокумента(Контекст, 1, ТаблицаУслуг, 1); // регистр Списание - сразу списываем ПроведениеСписания(ТаблицаДокумента, ВремСписание); // регистры Партии и Остатки - перемещаем на склад документа, списание - стандартно в ПроведенииПоРегистрам ПереместитьНаСклад(СкладСписания, ТаблицаДокумента, ВремОстаткиТМЦ, ВремРезервыТМЦ, ВремПартииНаличие); КонецПроцедуры // ОбработкаСписания |
|||
8
Масянька
29.02.16
✎
11:48
|
(5) Что тебе не понятно?
|
|||
9
HawkEye
29.02.16
✎
11:50
|
(7) где процедура ОбработкаПроведения() ?
|
|||
10
HawkEye
29.02.16
✎
11:51
|
(8) ну например, почему бы не открыть отладчик не посмотреть в чем причина?
или где же в приведенном коде ОБработкаПроведения? |
|||
11
Масянька
29.02.16
✎
11:52
|
(9) Процедура ОбработкаПроведения(ВидыДвижений)
// Проверка заполненности обязательных реквизитов. Если глВсеРеквизитыДокументаЗаполнены(Контекст, "Фирма,Склад,Валюта,Контрагент,Договор")=0 Тогда Возврат; КонецЕсли; Если (Склад.РозничныйСклад = 1) Тогда глНеПроводить(Контекст,"Документ """+ глНазваниеДокументаВЖурнале(Контекст)+""" можно |оформлять только с оптового склада!"); Возврат; КонецЕсли; // Проведение по регистрам оперативного учета. Если (ПустоеЗначение(ВидыДвижений) = 1) ИЛИ (Найти(ВидыДвижений, "Регистр") <> 0) Тогда ПроведениеПоРегистрам(); Если СтатусВозврата() = 0 Тогда Возврат; КонецЕсли; КонецЕсли; глПриПроведении(Контекст, ВидыДвижений); КонецПроцедуры //ОбработкаПроведения() |
|||
12
Garykom
гуру
29.02.16
✎
11:53
|
Как меня удивляет когда чистые восьмерочники (7.7 только видели) начинают лезти в семерку и потом офигевают от того что увидели :)
|
|||
13
Garykom
гуру
29.02.16
✎
11:54
|
(11) ПроведениеПоРегистрам(); и глПриПроведении(Контекст, ВидыДвижений); то раскрой?
|
|||
14
Mikeware
29.02.16
✎
11:54
|
Ну, оно кагбэ логично...
ПроведениеСписания() делается _до_ временного расчета. следовательно, берет остатки на ТА. |
|||
15
Garykom
гуру
29.02.16
✎
11:54
|
(13)+ а вижу ПроведениеПоРегистрам в (7)
|
|||
16
HawkEye
29.02.16
✎
11:55
|
(11) ну и где в приведенном коде обращение к ТА или ТекущемуДокументы для поиска остатков?
|
|||
17
Масянька
29.02.16
✎
11:55
|
(13) проведение по регистрам - в (7).
ГлПриПроведении - в глобальнике Процедура глПриПроведении(Конт, ВидыДвижений) Экспорт Конт.ЮрЛицо = Конт.Фирма.ЮрЛицо; // Если сумма взаиморасчетов равна нулю, предупредим об этом пользователя Если глЕстьРеквизитШапки("СуммаВзаиморасчетов", Конт.Вид()) = 1 Тогда Если (Конт.СуммаВзаиморасчетов = 0) и (Конт.Контрагент.Выбран() = 1) и (Конт.Вид() <> "ОтчетКомитенту") Тогда глСообщениеПроведения("Обнаружена нулевая сумма взаиморасчетов!", Конт.ТекущийДокумент()); КонецЕсли; КонецЕсли; // Покажем трассировку, если она есть НазваниеТрассировки = "Проведение документа "+Конт.Вид()+" № "+Конт.НомерДок +" от "+Конт.ДатаДок; Если ТипЗначенияСтр(глСообщенияТрассировки) = "СписокЗначений" Тогда Если НазваниеТрассировки = СокрЛП(глСообщенияТрассировки.ПолучитьЗначение(3)) Тогда глПоказатьТрассировку(глСообщенияТрассировки); глСообщенияТрассировки = 0; КонецЕсли; КонецЕсли; КонецПроцедуры // глПриПроведении() |
|||
18
Mikeware
29.02.16
✎
11:55
|
(13) нахрена тебе глПриПроведении?
|
|||
19
Mikeware
29.02.16
✎
11:56
|
Подарите Масяньке на 8 марта отладчик, штоль...
|
|||
20
Масянька
29.02.16
✎
11:56
|
(16) Ниже, там стандартное проведение.
Процедура ПроведениеПоРегистрам() Перем ТаблСписПартий, ТаблСписПартийКом; Перем ВремРегистры; Перем ВремЗаявки, ВремЗаказыЗаявки, ВремОстаткиТМЦ, ВремРезервыТМЦ, ВремПартииНаличие, ВремПокупатели; // Удаление движений по регистрам. Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; // сначала обрабатываем списание ОбработкаСписания(); ТаблицаУслуг = СоздатьОбъект("ТаблицаЗначений"); ТаблицаТМЦ = глПодготовитьТаблицуДокумента(Контекст,1,ТаблицаУслуг); ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма); СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок"); СписокПараметров.ДобавитьЗначение(Склад, "Склад"); СписокПараметров.ДобавитьЗначение(Фирма, "Фирма"); СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ,"ФирмаДляОстатковТМЦ"); СписокПараметров.ДобавитьЗначение(Контрагент, "Контрагент"); СписокПараметров.ДобавитьЗначение(Договор, "Договор"); // Сформируем список статусов партий СтатусПартии = СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(КодОперации, "КодОперации"); ВремРегистры = СоздатьОбъект("Регистры"); ВремЗаявки = ВремРегистры.Заявки; ВремЗаказыЗаявки = ВремРегистры.ЗаказыЗаявки; ВремОстаткиТМЦ = ВремРегистры.ОстаткиТМЦ; ВремРезервыТМЦ = ВремРегистры.РезервыТМЦ; ВремПартииНаличие = ВремРегистры.ПартииНаличие; ВремПокупатели = ВремРегистры.Покупатели; ФильтрЗаявок ( ТаблицаТМЦ, ТаблицаУслуг, ВремЗаявки, ВремЗаказыЗаявки); глФильтрОстатковТМЦ (Контекст, ТаблицаТМЦ, СписокПараметров, ВремОстаткиТМЦ,ВремРезервыТМЦ ); глФильтрПартийТМЦ (Контекст, ТаблицаТМЦ, СписокПараметров, ВремПартииНаличие ); Если КодОперации=Перечисление.КодыОпераций.Продажа Тогда глФильтрДолгов (Контекст, Договор, СписокПараметров, ВремПокупатели ); КонецЕсли; Если ИтогиАктуальны()=0 Тогда ВремРегистры.Актуальность(1); ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент()); КонецЕсли; // контроль величины кредита клиенту (с учетом права пользователя превышать его) Если КодОперации = глКО.Продажа Тогда Если КонтрольКредитаПройден(ВремПокупатели) = 0 Тогда Возврат; КонецЕсли; КонецЕсли; ДвижениеЗаявокПокупателя(ТаблицаТМЦ, ВремЗаявки, ВремЗаказыЗаявки, ВремРезервыТМЦ); // по ТМЦ ДвижениеЗаявокПокупателя(ТаблицаУслуг, ВремЗаявки, ВремЗаказыЗаявки, ВремРезервыТМЦ); // по услугам и работам // остатки ТМЦ // остатки ТМЦ - сворачиваем ТЧ документа по номенклатуре мТаблицаТМЦ = СоздатьОбъект("ТаблицаЗначений"); мТаблицаТМЦ.Загрузить(ТаблицаТМЦ); мТаблицаТМЦ.Свернуть("Номенклатура, Склад, ЦенаПрод", "Количество"); Если глСписаниеОстатковТМЦ (Контекст,мТаблицаТМЦ,СписокПараметров, ВремОстаткиТМЦ, ВремРезервыТМЦ)=0 Тогда Возврат; КонецЕсли; // партии ТМЦ глСписаниеПартийТМЦ(Контекст,ТаблицаТМЦ,СписокПараметров,ВремПартииНаличие,ТаблСписПартий,ТаблСписПартийКом); Если КодОперации=Перечисление.КодыОпераций.ПередачаНаРеализацию Тогда // надо списанные партии оприходовать на регистр "Партии отданные" ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку()=1 Цикл //измерения Регистр.ПартииОтданные. Фирма = ТаблСписПартий.Фирма; Регистр.ПартииОтданные. Номенклатура = ТаблСписПартий.Номенклатура; Регистр.ПартииОтданные. СтатусПартии = ТаблСписПартий.СтатусПартии; Регистр.ПартииОтданные. Партия = ТаблСписПартий.Партия; Регистр.ПартииОтданные. Договор = Договор; Регистр.ПартииОтданные. ДокументПередачи= ТекущийДокумент(); // ресурсы Регистр.ПартииОтданные. Количество = ТаблСписПартий.Количество; Регистр.ПартииОтданные. СуммаУпр = ТаблСписПартий.СуммаУпр; Регистр.ПартииОтданные. СуммаРуб = ТаблСписПартий.СуммаРуб; Регистр.ПартииОтданные. СуммаБезНДС = ТаблСписПартий.СуммаБезНДС; Регистр.ПартииОтданные. ПродСтоимость = ТаблСписПартий.СуммаПрод; // реквизиты Регистр.ПартииОтданные. КодОперации = глКО.ПередачаНаРеализацию; Регистр.ПартииОтданные. ДвижениеПриходВыполнить(); КонецЦикла; // проверим, а не указал ли пользователь услуги или работы - их отдавать на релизацию нельзя ТаблицаУслуг.ВыбратьСтроки(); Если ТаблицаУслуг.ПолучитьСтроку()= 1 Тогда глНеПроводить(Контекст,"Услуги и работы отдавать на реализацию невозможно! ("+ТаблицаУслуг.Номенклатура+")"); Возврат; КонецЕсли; ИначеЕсли КодОперации=Перечисление.КодыОпераций.Продажа Тогда // движение оборотного регистра "продажи" ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку()=1 Цикл глДвижениеОборотовПродаж(Контекст, Фирма, Контрагент, ТаблСписПартий.Партия.Поставщик, ТаблСписПартий.Номенклатура, ТаблСписПартий.Количество, ТаблСписПартий.СуммаУпр, ТаблСписПартий.СуммаПродУпр); КонецЦикла; ТаблСписПартий.Свернуть("СтатусПартии,СтавкаНП,СтавкаНДС,ДоговорКомитента","СуммаПрод,СуммаПродУпр,СуммаПродРуб,НДСПрод,НППрод,СуммаБезНДС"); ТаблСписПартий.НоваяКолонка("КредДокумент"); ТаблСписПартий.НоваяКолонка("ВидДолга"); ТаблСписПартий.НоваяКолонка("Сумма"); ТаблСписПартий.НоваяКолонка("СуммаУпр"); ТаблСписПартий.НоваяКолонка("СуммаРуб"); ТаблСписПартий.НоваяКолонка("СуммаНДС"); ТаблСписПартий.НоваяКолонка("СуммаНП"); ТаблСписПартий.НоваяКолонка("Себестоимость"); ТаблСписПартий.НоваяКолонка("ОблагаетсяНП"); ТаблСписПартий.ВыбратьСтроки(); Пока ТаблСписПартий.ПолучитьСтроку()=1 Цикл ТаблСписПартий.КредДокумент = ТекущийДокумент(); ТаблСписПартий.ВидДолга = ВидДолгаПоСтатусу(ТаблСписПартий.СтатусПартии); ТаблСписПартий.Себестоимость= ТаблСписПартий.СуммаБезНДС; ТаблСписПартий.СуммаНДС = ТаблСписПартий.НДСПрод; ТаблСписПартий.СуммаНП = ТаблСписПартий.НППрод; ТаблСписПартий.Сумма = ТаблСписПартий.СуммаПрод; ТаблСписПартий.СуммаУпр = ТаблСписПартий.СуммаПродУпр; ТаблСписПартий.СуммаРуб = ТаблСписПартий.СуммаПродРуб; ТаблСписПартий.ОблагаетсяНП = УчитыватьНП; КонецЦикла; СписокПараметров.Установить("ЗнакДвижения", 1); // идет увеличение долга глДвижениеДолгов(Контекст,Договор,ТаблСписПартий,СписокПараметров,ВремПокупатели); // запомним, что мы продали принятые на комиссию товары... ТаблСписПартийКом.ВыбратьСтроки(); Пока ТаблСписПартийКом.ПолучитьСтроку()=1 Цикл Регистр.РеализованныйТовар.Фирма = ТаблСписПартийКом.Фирма; Регистр.РеализованныйТовар.Договор = ТаблСписПартийКом.Партия.ДоговорПоставщика; Регистр.РеализованныйТовар.Номенклатура = ТаблСписПартийКом.Номенклатура; Регистр.РеализованныйТовар.Партия = ТаблСписПартийКом.Партия; Регистр.РеализованныйТовар.ДокПродажи = ТекущийДокумент(); Регистр.РеализованныйТовар.Количество = ТаблСписПартийКом.Количество; Регистр.РеализованныйТовар.ПродСтоимость = ТаблСписПартийКом.СуммаПродРуб - ТаблСписПартийКом.НППрод; Регистр.РеализованныйТовар.ДвижениеПриходВыполнить(); КонецЦикла; // реализация услуг глДвижениеПартийУслуг(Контекст, ТаблицаУслуг, СписокПараметров); // сначала увеличим обороты продаж по услугам и работам ТаблицаУслуг.ВыбратьСтроки(); Пока ТаблицаУслуг.ПолучитьСтроку()=1 Цикл глДвижениеОборотовПродаж(Контекст, Фирма, Контрагент, "", ТаблицаУслуг.Номенклатура, ТаблицаУслуг.Количество, 0, ТаблицаУслуг.СуммаУпр); КонецЦикла; // теперь задолженность покупателя за отпущенные услуги или работы СписокПараметров.Установить("ЗнакДвижения",1); // увеличился долг клиента ТаблицаУслуг.Свернуть("Вид,СтавкаНДС,СтавкаНП","Сумма,СуммаУпр,СуммаРуб,СуммаНДС,СуммаНП"); ТаблицаУслуг.НоваяКолонка("КредДокумент"); ТаблицаУслуг.НоваяКолонка("ВидДолга"); ТаблицаУслуг.НоваяКолонка("Себестоимость"); ТаблицаУслуг.НоваяКолонка("ДоговорКомитента"); ТаблицаУслуг.НоваяКолонка("ОблагаетсяНП"); ТаблицаУслуг.ВыбратьСтроки(); Пока ТаблицаУслуг.ПолучитьСтроку()=1 Цикл ТаблицаУслуг.КредДокумент = ТекущийДокумент(); Если ТаблицаУслуг.Вид = Перечисление.ВидыНоменклатуры.Услуга Тогда ТаблицаУслуг.ВидДолга = глВД.ДолгЗаУслуги; Иначе ТаблицаУслуг.ВидДолга = глВД.ДолгЗаРаботы; КонецЕсли; ТаблицаУслуг.Себестоимость = 0; ТаблицаУслуг.ОблагаетсяНП = УчитыватьНП; КонецЦикла; глДвижениеДолгов(Контекст,Договор,ТаблицаУслуг,СписокПараметров,ВремПокупатели); КонецЕсли; КонецПроцедуры // ПроведениеПоРегистрам() |
|||
21
Garykom
гуру
29.02.16
✎
11:57
|
хы я был прав, галочка походу снята "Автоматическое удаление движений"
(18) а вдруг там все назад переигрывается по некому условию? |
|||
22
Масянька
29.02.16
✎
11:58
|
(21) Нет. Галочка на месте.
Добавлена только обработка списания. Все остальное - стандарт. |
|||
23
aka AMIGO
29.02.16
✎
11:59
|
(18) Это сделано для уменьшения объема модулей документов.
Иначе пришлось-бы писать в каждом доке эту процу.. И так ТиС конфа огромная.. |
|||
24
Масянька
29.02.16
✎
12:01
|
Ну, что, какие мысли есть?
|
|||
25
Mikeware
29.02.16
✎
12:01
|
(23) да не такая уж и огромная. зато логичная.
|
|||
26
Mikeware
29.02.16
✎
12:01
|
(24) см.(14)
|
|||
27
Масянька
29.02.16
✎
12:04
|
(26) Спасибо огромное! Целовать не буду, знаю - ты не любишь...
СПАСИБО!!!!! |
|||
28
Mikeware
29.02.16
✎
12:06
|
ОбработкаПроведения(ВидыДвижений)- ПроведениеПоРегистрам();- ОбработкаСписания();-ПроведениеСписания(ТаблицаДокумента, ВремСписание);
И нигде нет временного расчета |
|||
29
HawkEye
29.02.16
✎
12:07
|
(20) угу... ниже....
очуметь.... |
|||
30
Mikeware
29.02.16
✎
12:28
|
(29) я ж говорю, подарите ей отладчик на 8 марта. у меня она его из принципа не возьмет...
|
|||
31
HawkEye
29.02.16
✎
13:31
|
(30) см.(4) я тоже в опале )))
|
|||
32
Злопчинский
29.02.16
✎
17:03
|
эх, опоздал... ;-)
|
|||
33
Mikeware
29.02.16
✎
17:06
|
(32) не расстраивайся...
"под лежачий камень ты всегда успеешь..."© |
|||
34
Mikeware
29.02.16
✎
17:06
|
вот, кстати, мы и увидели "цепочку"®...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |