|
Откуда лезет валюта в отчетах ? vis, Кулибин, Волшебник, Олдж, vv2304, dis12345, АНДР, Мультук, Caesar, Kongo2019, kubik_live, maxab72, Шурик71, calmius, Amra, eddy_n, dedmoroz777, Timon1405, Fragster, alexxx961503, RomanYS, 2S, Tarlich, A_G, Pers0naGrata, shuhard, Злопчинский, formista2000, Ненавижу 1С, viraboy, Группа неравнодушных, skafandr, okmail, ads55, mikecool, Hawk_1c, Бычье сердце, X Leshiy, Жеглофф, Somebody, kittystark, evorle145, nick86, p-soft, Fedor-1971, zva, Анцеранана, Черников, comp2006, banco, San787, Kigo_Kigo, spiller26
| ☑ | ||
|---|---|---|---|---|
|
0
vv2304
14.10.26
✎
16:21
|
Типовая отраслевая КОРП на базе бухгалтерии.
Делал слияние баз с пом. переноса ВыгрузкаЗагрузкаДанныхXML. В базе-источнике валютный учет выключен. В базе-приемнике валютный учет включен. Почему-то по некоторым перенесенным контрагентам по 60 счету появились строки "Вал." Хотя в договорах руб. Отключать константу нельзя. В проводках документов валюты нет. Если документ перепровести, в бух.отчетах строка "Вал." пропадает, но документы в закрытом периоде, трогать нельзя.
|
|||
|
1
Kigo_Kigo
14.10.26
✎
17:17
|
В проводке стоит Валюта как Справочники.Валюты.ПустаяСсылка()
Лечится легко, часто сталкиваемся при обменах, вот код полечить, обработку сам сваяещь Процедура КоманднаяПанель1ЗаполнитьДокументамиСОшибками(Кнопка) ТЧ.Очистить(); Запрос = Новый Запрос( "ВЫБРАТЬ | Т.Регистратор КАК Документ, | Т.Счет КАК Счет, | Т.Ошибка КАК Ошибка |ИЗ | (ВЫБРАТЬ различные | Хозрасчетный.Регистратор КАК Регистратор, | Хозрасчетный.СчетДт КАК Счет, | ""Валюта не NULL"" КАК Ошибка | ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный | ГДЕ | &ВалютаНеNULL = ИСТИНА | И (&ДатаНач = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | И &ДатаКон = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ИЛИ Хозрасчетный.Период МЕЖДУ &ДатаНач И &ДатаКон) | И Хозрасчетный.СчетДт.Валютный = ЛОЖЬ | И НЕ Хозрасчетный.ВалютаДт ЕСТЬ NULL | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ различные | Хозрасчетный.Регистратор, | Хозрасчетный.СчетКт, | ""Валюта не NULL"" | ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный | ГДЕ | &ВалютаНеNULL = ИСТИНА | И (&ДатаНач = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | И &ДатаКон = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) | ИЛИ Хозрасчетный.Период МЕЖДУ &ДатаНач И &ДатаКон) | И Хозрасчетный.СчетКт.Валютный = ЛОЖЬ | И НЕ Хозрасчетный.ВалютаКт ЕСТЬ NULL) КАК Т | |СГРУППИРОВАТЬ ПО | Т.Регистратор, | Т.Счет, | Т.Ошибка | |УПОРЯДОЧИТЬ ПО | Т.Регистратор |АВТОУПОРЯДОЧИВАНИЕ" //"ВЫБРАТЬ РАЗЛИЧНЫЕ // | ХозрасчетныйОбороты.Регистратор КАК Документ, // | ХозрасчетныйОбороты.Счет КАК Счет, // | ""Валюта не NULL"" КАК Ошибка // |ИЗ // | РегистрБухгалтерии.Хозрасчетный.Обороты( // | &ДатаНач, // | &ДатаКон, // | Регистратор, // | НЕ Счет.Валютный, // | , // | &ВалютаНеNULL // | И Валюта = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка), // | , // | ) КАК ХозрасчетныйОбороты" //|ОБЪЕДИНИТЬ ВСЕ //| //|ВЫБРАТЬ РАЗЛИЧНЫЕ //| ХозрасчетныйОбороты.Регистратор, //| ХозрасчетныйОбороты.Счет, //| ""Подразделение не NULL"" //|ИЗ //| РегистрБухгалтерии.Хозрасчетный.Обороты( //| &Дата1, //| &Дата2, //| Регистратор, //| НЕ Счет.УчетПоПодразделениям, //| , //| &ПодразделениеНеNULL //| И Подразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка), //| , //| ) КАК ХозрасчетныйОбороты //| //|ОБЪЕДИНИТЬ ВСЕ //| //|ВЫБРАТЬ РАЗЛИЧНЫЕ //| ХозрасчетныйОбороты.Регистратор, //| ХозрасчетныйОбороты.Счет, //| ""Направление деятельности не NULL"" //|ИЗ //| РегистрБухгалтерии.Хозрасчетный.Обороты( //| &Дата1, //| &Дата2, //| Регистратор, //| НЕ Счет.УчетПоНаправлениямДеятельности, //| , //| &НаправлениеДеятельностиНеNULL //| И НаправлениеДеятельности = ЗНАЧЕНИЕ(Справочник.НаправленияДеятельности.ПустаяСсылка), //| , //| ) КАК ХозрасчетныйОбороты ); Запрос.УстановитьПараметр("ДатаНач", НачалоДня(НачПериода)); Запрос.УстановитьПараметр("ДатаКон", КонецДня(КонПериода)); Запрос.УстановитьПараметр("ВалютаНеNULL", ВалютаНеNULL); // Запрос.УстановитьПараметр("ПодразделениеНеNULL", ПодразделениеНеNULL); // Запрос.УстановитьПараметр("НаправлениеДеятельностиНеNULL", НаправлениеДеятельностиНеNULL); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НовСтр_ТЧ = ТЧ.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр_ТЧ, Выборка); КонецЦикла; КонецПроцедуры Процедура УстановитьФлажки(Команда) Для Каждого Стр_ТЧ Из ТЧ Цикл Стр_ТЧ.Использовать = Истина; КонецЦикла; КонецПроцедуры Процедура СнятьФлажки(Команда) Для Каждого Стр_ТЧ Из ТЧ Цикл Стр_ТЧ.Использовать = Ложь; КонецЦикла; КонецПроцедуры Процедура ИсправитьNULLНаСервере() Валюта_ПустаяСсылка = Справочники.Валюты.ПустаяСсылка(); //Подразделение_ПустаяСсылка = Справочники.СтруктураПредприятия.ПустаяСсылка(); // НаправлениеДеятельности_ПустаяСсылка = Справочники.НаправленияДеятельности.ПустаяСсылка(); СписокДокументов = ТЧ.Выгрузить(Новый Структура("Использовать", Истина), "Документ"); СписокДокументов.Свернуть("Документ"); Индикатор1=0; Инд=0; КолДок=СписокДокументов.Количество(); Счетчик=0; Для Каждого Стр Из СписокДокументов Цикл Счетчик=Счетчик+1; Если Инд<>Окр(Счетчик*100/КолДок) тогда Инд=Окр(Счетчик*100/КолДок); Индикатор1=Инд; КонецЕсли; //Если Не Стр.Использовать Тогда // Продолжить; //КонецЕсли; НЗ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); НЗ.Отбор.Регистратор.Установить(Стр.Документ); НЗ.Прочитать(); флБылиИзменения = Ложь; Для Каждого Запись_НЗ Из НЗ Цикл //Если НЕ Запись_НЗ.СчетДт.Валютный // И Запись_НЗ.ВалютаДт = Валюта_ПустаяСсылка Тогда // Запись_НЗ.ВалютаДт = NULL; // флБылиИзменения = Истина; //КонецЕсли; // //Если НЕ Запись_НЗ.СчетКт.Валютный // И Запись_НЗ.ВалютаКт = Валюта_ПустаяСсылка Тогда // Запись_НЗ.ВалютаКт = NULL; // флБылиИзменения = Истина; //КонецЕсли; Если ВалютаНеNULL И НЕ Запись_НЗ.СчетДт.Валютный И ТипЗнч(Запись_НЗ.ВалютаДт) <> Тип("Null") Тогда Запись_НЗ.ВалютаДт = NULL; ЕстьИзменения = Истина; КонецЕсли; Если ВалютаНеNULL И НЕ Запись_НЗ.СчетКт.Валютный И ТипЗнч(Запись_НЗ.ВалютаКт) <> Тип("Null") Тогда Запись_НЗ.ВалютаКт = NULL; ЕстьИзменения = Истина; КонецЕсли; //Если НЕ Запись_НЗ.СчетДт.УчетПоПодразделениям // И Запись_НЗ.ПодразделениеДт = Подразделение_ПустаяСсылка Тогда // Запись_НЗ.ПодразделениеДт = NULL; // флБылиИзменения = Истина; //КонецЕсли; // //Если НЕ Запись_НЗ.СчетКт.УчетПоПодразделениям // И Запись_НЗ.ПодразделениеКт = Подразделение_ПустаяСсылка Тогда // Запись_НЗ.ПодразделениеКт = NULL; // флБылиИзменения = Истина; //КонецЕсли; // //Если НЕ Запись_НЗ.СчетДт.УчетПоНаправлениямДеятельности // И Запись_НЗ.НаправлениеДеятельностиДт = НаправлениеДеятельности_ПустаяСсылка Тогда // Запись_НЗ.НаправлениеДеятельностиДт = NULL; // флБылиИзменения = Истина; //КонецЕсли; // //Если НЕ Запись_НЗ.СчетКт.УчетПоНаправлениямДеятельности // И Запись_НЗ.НаправлениеДеятельностиКт = НаправлениеДеятельности_ПустаяСсылка Тогда // Запись_НЗ.НаправлениеДеятельностиКт = NULL; // флБылиИзменения = Истина; //КонецЕсли; КонецЦикла; Если ЕстьИзменения Тогда НЗ.ОбменДанными.Загрузка = Истина; НЗ.Записать(); КонецЕсли; КонецЦикла; Индикатор1=100; Сообщить("Обработка выполнена!!!"); КонецПроцедуры Процедура ВыбПериодНажатие(Элемент) НастройкаПериода = Новый НастройкаПериода; НастройкаПериода.РедактироватьКакИнтервал = Истина; НастройкаПериода.РедактироватьКакПериод = Истина; НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода))); Если НастройкаПериода.Редактировать() Тогда НачПериода = НастройкаПериода.ПолучитьДатуНачала(); КонПериода = НастройкаПериода.ПолучитьДатуОкончания(); КонецЕсли; КонецПроцедуры |
|||
|
2
Kigo_Kigo
14.10.26
✎
19:29
|
А картинку прицепил, ну может не то, я тогда хз, у нас по невалютным счетам валютные обороты были
|
|||
|
3
Fedor-1971
14.10.26
✎
17:35
|
(0) Посмотри в файл XML по проблемным суммам и подчисти
Как вариант, заполни данные в выборке из источника при выгрузке гарантированно Валюта = Неопределено. Будет достаточно просто перезагрузить данные Или как в (1) придётся лечить базу приёмник |
|||
|
4
vv2304
14.10.26
✎
19:28
|
поднял копию, отчет сваял,посмотрел, такая проблема и по тем контрагентам, что были в базе-приемнике, но по ним не было валютных оборотов.
Получается, что надо лечить базу-приемник. |
|||
|
5
Олдж
14.10.26
✎
20:06
|
(4) Предположу, что обработкой ВыгрузкаЗагрузкаДанныхXML задвоилась запись "Рубли" в справочнике "Валюты".
Удали дубль обработкой "Поиск и удаление дублей" |
|||
|
6
Волшебник
14.10.26
✎
20:01
|
(5) лучше сначала сделать замену ссылок
|
|||
|
7
Олдж
14.10.26
✎
20:06
|
(6) скорректировал :)
|
|||
|
8
vv2304
14.10.26
✎
20:34
|
(5) Не, дублей нет.
|
|||
|
9
Волшебник
14.10.26
✎
20:37
|
(8) Проверьте наличие пустой валюты в старых проводках. Если она есть, замените на рубли. Период открывать не надо. Перепроводить документы не надо
|
|||
|
10
vv2304
14.10.26
✎
22:01
|
Если она есть, замените на рубли.
Заменил на Неопределено. Но как так получилось ? Потому, что предстоит еще неоднократно переносить в базу-приемник. |
|||
|
11
Волшебник
14.10.26
✎
22:25
|
(10) Вам нужно в базе-приёмник заменить всю пустую валюту в старых проводках на Рубли.
Обработка проводок по каждом набору Движения из РегистрБухгалтерии.Хозрасчетный с флагом Набор.ОбменДанными=Истина Период открывать не надо. Перепроводить документы не надо. |
|||
|
12
vv2304
14.10.26
✎
22:31
|
(11) я уже заменил. Только не на рубли, а на Неопределено.
"ВЫБРАТЬ РАЗЛИЧНЫЕ | Хозрасчетный.Регистратор |ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный |ГДЕ | ((НЕ Хозрасчетный.СчетДт.Валютный) | И Хозрасчетный.ВалютаДт <> НЕОПРЕДЕЛЕНО | ИЛИ (НЕ Хозрасчетный.СчетКт.Валютный) | И Хозрасчетный.ВалютаКт <> НЕОПРЕДЕЛЕНО) | И Хозрасчетный.Период МЕЖДУ &НачалоПериода И &КонецПериода" потом читаю наборЗаписей и далее Если НЕ Запись.СчетДт.Валютный И Запись.ВалютаДт <> Неопределено Тогда Запись.ВалютаДт = Неопределено; КонецЕсли; |
|||
|
13
Волшебник
14.10.26
✎
22:58
|
(12) Вы дурак. Надо на Рубли
За период весь И набор надо записать. С параметрами, которые я указал выше |
|||
|
14
Волшебник
14.10.26
✎
22:59
|
Зачем нам вообще общаться с этим ботом?
|
|||
|
15
vv2304
14.10.26
✎
23:34
|
(13) Счета не валютные. Измерения ВалютаДт и ВалютаКт должны в таком случае быть Неопределено.
|
|||
|
16
Волшебник
14.10.26
✎
23:54
|
(15) Сказочник
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |