|
Помогите разобраться почему очищается табличная часть | ☑ | ||
---|---|---|---|---|
0
sevensword
27.01.15
✎
10:07
|
Собственно сабж, не могу понять почему при записи происходит очистка расчитываемых значений, при проведении выскакивает сообщение что данные изменены хотите ли вы сохранить и значения также очищаются
данные закачиваются и считаются через Для Каждого СтрокаОпт Из Опт Цикл Если (найти(нрег(СтрокаОпт.договор.наименование),"карты")>0) и (найти(нрег(СтрокаОпт.договор.наименование),"предоплата")>0) Тогда иначе продолжить; КонецЕсли; _объем=СтрокаОпт.объем; _сумма=0; СтрокаОпт.Цена=0; СтрокаОпт.Сумма=0; СтрокаОпт.СуммаНДС=0; Для Каждого СтрокаКРТ из ОстаткиКРТ цикл Если _объем=0 Тогда прервать; КонецЕсли; Если (СтрокаКРТ.контрагенты<>СтрокаОпт.покупатель)или(СтрокаКРТ.номенклатура<>СтрокаОпт.ГСМ)или(СтрокаКРТ.количество<=0) Тогда продолжить; КонецЕсли; если СтрокаКРТ.количество<_объем тогда _сумма=_сумма+СтрокаКРТ.количество*(СтрокаКРТ.цена/100); _объем=_объем-СтрокаКРТ.количество; СтрокаКРТ.количество=0; иначе _сумма=_сумма+_объем*(СтрокаКРТ.цена/100); СтрокаКРТ.количество=СтрокаКРТ.количество-_объем; _объем=0; конецесли; конеццикла; Если _объем>0 Тогда сообщить("Недостаточно выданного по предоплате объема ГСМ - "+СтрокаОпт.ГСМ); КонецЕсли; СтрокаОпт.сумма=окр(_сумма,2,1); СтрокаОпт.СуммаНДС=окр(_сумма/118*18,2,1); СтрокаОпт.цена=?(СтрокаОпт.объем=0,0,окр(_сумма/СтрокаОпт.объем,2,1)); КонецЦикла; где не дописал запись? процедура передзаписью пустая |
|||
1
sevensword
27.01.15
✎
10:07
|
где не дописал запись? процедура передзаписью пустая
|
|||
2
mikecool
27.01.15
✎
10:10
|
записывай объект, а потом открывай его
|
|||
3
Godofsin
27.01.15
✎
10:12
|
Если (найти(нрег(СтрокаОпт.договор.наименование),"карты")>0) и (найти(нрег(СтрокаОпт.договор.наименование),"предоплата")>0) Тогда
иначе продолжить; КонецЕсли; У тебя что, в каждом наименовании договора есть "карты предоплата"? |
|||
4
zsergey
27.01.15
✎
10:15
|
еще тот быдлокод, дочитать до конца не смог.
|
|||
5
Godofsin
27.01.15
✎
10:15
|
(4) +1
|
|||
6
sevensword
27.01.15
✎
10:18
|
(3) продажи тянутся и fbd базы, все проходящие по безналу, делятся по типу договоров, по ним и идет выборка
|
|||
7
sevensword
27.01.15
✎
10:20
|
(4) (5) ну не осилили так проходите мимо в чем проблема
|
|||
8
Ёпрст
27.01.15
✎
10:20
|
(6) и че ?
У них у всех в наименовании присутствуют слова "карты" и "предоплата" ? Если нет - то у вас "Продолжить" в цикле.. дальше думай. |
|||
9
Godofsin
27.01.15
✎
10:21
|
(6) Твой цикл будет работать, если в наименовании договора встречается "карты" И "предоплата".
|
|||
10
sevensword
27.01.15
✎
10:24
|
(8) (9) все работает цены и суммы просчитываются по нужным договорам, почему идет очистка данных при проведении
|
|||
11
sevensword
27.01.15
✎
10:25
|
и при записи?
|
|||
12
Godofsin
27.01.15
✎
10:29
|
(10) Напиши наименование одного "нужного" договора.
|
|||
13
wertyu
27.01.15
✎
10:32
|
ОстаткиКРТ - это что такое?
|
|||
14
sevensword
27.01.15
✎
10:34
|
(12) что?
если выгружаются контрагенты с договором карты предоплата, идет сверка остатка по запросу и расчитывается цена и сумма |
|||
15
sevensword
27.01.15
✎
10:34
|
(14) Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1 КАК Контрагенты, | ХозрасчетныйОстатки.Субконто2 КАК Номенклатура, | ХозрасчетныйОстатки.Субконто3 КАК Цена, | ХозрасчетныйОстатки.СуммаОстатокДт КАК Сумма, | ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество, | ХозрасчетныйОстатки.Организация, | ХозрасчетныйОстатки.Субконто4 КАК Документ |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Позиция, Счет.Код = ""КРТ.1"", , ) КАК ХозрасчетныйОстатки | |УПОРЯДОЧИТЬ ПО | Контрагенты, | Номенклатура, | Цена"; // Запрос.УстановитьПараметр("Организация", Склад.Организация); //Организации Запрос.УстановитьПараметр("Позиция", МоментВремени()); //Дата ОстаткиКРТ = Запрос.Выполнить().Выгрузить(); |
|||
16
Godofsin
27.01.15
✎
10:36
|
Смотри процедуры ПриЗаписи и обработкаПроведения
|
|||
17
wertyu
27.01.15
✎
10:41
|
(15) >>> ХозрасчетныйОстатки.Субконто3 КАК Цена
+(16) поставь точки на этих процедурах, а в табло выведи Модифицированность() и смотри в какой "подфункции" или "подпроцедуре" она станет Истиной |
|||
18
sevensword
27.01.15
✎
10:56
|
при записи пустая
в проведении вот так Процедура ОбработкаПроведения(Отказ, РежимПроведения) Перем Заголовок, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоАвансам, ТаблицаПоОплате, ТаблицаПоПрочее; ПодготовитьСтруктуруШапкиДокумента(Заголовок, СтруктураШапкиДокумента, Отказ); // Проверим правильность заполнения шапки документа ПроверитьЗаполнениеШапки(СтруктураШапкиДокумента, Отказ, Заголовок); // Движения по документу Если Не Отказ Тогда ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоАвансам, ТаблицаПоОплате, ТаблицаПоПрочее, Отказ, Заголовок); КонецЕсли; Если Не Отказ Тогда Движения.Записать(); КонецЕсли; |
|||
19
sevensword
27.01.15
✎
10:56
|
ложь выдает на ПодготовитьСтруктуруШапкиДокумента и ПроверитьЗаполнениеШапки, закоментил не помогло
|
|||
20
sevensword
27.01.15
✎
10:57
|
(17) субконто 3 числовое что не очень хорошо конечно, но в последующем изменю структуру
|
|||
21
wertyu
27.01.15
✎
11:00
|
(19) ложь - это нормально
а после ДвиженияПоРегистрам, что? |
|||
22
wertyu
27.01.15
✎
11:01
|
(20) я понял, что числовое, ты же его на 100 делишь )
|
|||
23
sevensword
27.01.15
✎
11:06
|
(21) движенияПоРегистраМБухгалтерия и погдотовитьструктуру шапки, а потом обработка проведения
|
|||
24
wertyu
27.01.15
✎
11:28
|
(23) найди уже место, где модифицированность меняется с ложь на истина )
|
|||
25
sevensword
27.01.15
✎
11:40
|
нашел в процедуре формирования остатков, в одном из запросов, убрал его, теперь истина показывает на конецпроцедуры
что это значит?=) |
|||
26
sevensword
27.01.15
✎
11:54
|
после долгих манипуляций модифицированность истина осталась толкьо на этом запросе, что ему блин в нем не нравится=(
//остатки по 41 счету Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Организация, | ХозрасчетныйОстатки.Субконто2 КАК Номенклатура, | ХозрасчетныйОстатки.Субконто3 КАК Склад, | ХозрасчетныйОстатки.СуммаОстатокДт КАК Сумма, | ХозрасчетныйОстатки.КоличествоОстатокДт КАК Количество |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Позиция,Счет.Код = ""41.01"", ,Субконто3 В (&Склад)) КАК ХозрасчетныйОстатки |УПОРЯДОЧИТЬ ПО | Номенклатура, | Склад"; Запрос.УстановитьПараметр("Организация", Склад.Организация); //Организации Запрос.УстановитьПараметр("Позиция", МоментВремени()); //Дата Запрос.УстановитьПараметр("Склад", Склад); // АЗС // Запрос.УстановитьПараметр("Номенклатура", ,,,Номенклатура); // АЗС Остатки41 = Запрос.Выполнить().Выгрузить(); |
|||
27
sevensword
27.01.15
✎
12:40
|
все оказалось гораздо проще
огромное всем спасибо!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |