Имя: Пароль:
1C
 
Загрузка данных ОЗОН
0 SergeyGr
 
03.08.26
12:39
Используется Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.202.14)

Загружаются данные ОЗОН из файла.
Автоматически формируется реализация без права перехода собственности.
Но...при открытии документа в нем нет столбиков "Счет доходов" и "Счет расходов".
Перевыбираешь договор и столбики появляются, и автоматически заполняются правильными счетами.

Подскажите, плз, почему эти столбики не формируются при СОЗДАНИИ документе ?

Найти причину не смог  :-(

Спасибо
1 Злопчинский
 
03.08.26
13:53
ну, очевидно (?) что при создании документа не все прописыается. Имхо решается элементрано.
1. Создали документ. Ничего не открываем\не трогаем. Любым универсумом печатаем полныей состав документа по всем реквизитам.
2. Открываем, перевыбираем, записываем. Повторяем печать, сравниваем две распечатки что изменилось.
.
Это я как полный чайник в 8-ке рассуждаю.
2 Chameleon1980
 
03.08.26
13:53
т.е отладка не помогла?
3 Chameleon1980
 
03.08.26
13:54
(1) методика неизменна :)
+ (0) отладчик в 8ке очень хороший - в отличии от 77 в нем можно все видеть.
4 Климов Сергей
 
03.08.26
14:03
(0) В процессе загрузки какие-либо сообщения об ошибках есть?
5 SergeyGr
 
03.08.26
14:12
(4) Загрузка проходит без ошибок, все данные в документ попадают верно

"Просто" нужных столбиков нет.
И при проведении документа формируются "не верные" записи.
6 SergeyGr
 
03.08.26
14:10
(1) Предложил бухгалтеру сделать внешнюю обработка (внешнюю печатную форму), которая перезаполняет документ.
Она категорически отказалась :-(
7 SergeyGr
 
03.08.26
14:10
(2) Не смог найти причину  :-(
8 Мультук
 
гуру
03.08.26
14:24
(2)

А что в базовой версии появились исходники ?
Раньше вроде не было.
Или я что-то путаю ?
9 Смотрящий
 
03.08.26
14:43
(0) Через консоль запросов - строишь запрос к реализации "битой" и "нормальной"

Сравниваешь, понимашь где в "битой" не хватает данных - лезешь в загрузчик с озона и правишь его
10 bolder
 
03.08.26
14:56
(6) Имхо правильное решение.В базовой версии вам не исправить иначе. Иди пусть пишет в 1с, там выпустят новую версию.
Ситуация достаточно простая, так как как 1С любит многое дозапрлнять при интерактивной работе в обработчиках событий, а при программном создании они не все отрабатывают.Остаётся только найти поле и обработчик.
(8) Некотоые модули наглухо закрыты, не все.
11 bolder
 
03.08.26
14:59
(10) Так вы даже нашли это поле -договор, соответсвенно ПриИзмененииДоговора или нечто подобное и есть решение задачи
12 Климов Сергей
 
03.08.26
15:37
(5) Заготовка для обработки:
    ДокОбъект.ДополнительныеСвойства.Вставить("ЗаполнитьСчетаУчетаПередЗаписью", Истина);
    ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
    ОбщегоНазначения.СообщитьПользователю("Счета учёта заполнены.");
13 Chameleon1980
 
03.08.26
16:20
(8) см. 7 - как-то искал.
Возможно, все это - не недописка кода (ошибка), а упущенная настройка.
14 unknown181538
 
03.08.26
18:46
(1) включить версионирование, и сравнить две версии штатными средствами
15 Злопчинский
 
03.08.26
18:55
(3) обидно, да! а что в 77 нельзя видеть?
16 Злопчинский
 
03.08.26
18:57
(14) у меня это вариант тоже был в уме, но вдруг версионирование не везде есть
17 AAA
 
03.08.26
19:01
А погуглить лень ? Главное -> Персональные настройки -> Показывать счета учета в документах
18 Chameleon1980
 
03.08.26
20:26
(15) тз, например, нормально посмотришь?
19 Nedomolkov_
Ivan
 
03.08.26
23:11
(0) В теме смешались две разные болячки, их надо развести, иначе будете чинить не то.

Столбиков не видно — это (17), персональная настройка отображения. На данные и проводки не влияет никак.

Проводки кривые — это (12): счета в ТЧ реально пустые, потому что заполняются обработчиком формы (тот самый перевыбор договора), а при программном создании документа он не отрабатывает.

Разделяется за минуту: возьмите «битый» документ и посмотрите ТЧ запросом через консоль, а не глазами на форме. Пусто — лечение в (12). Заполнено — значит проводки поехали не отсюда, и искать надо в другом месте.
20 Злопчинский
 
03.08.26
23:13
(18) тз. Выбрать строку() - для "посмотреть" - хватает
21 Chameleon1980
 
03.08.26
23:28
(20) да - я помню, что делал так-же, но, таки отладчик 77 для меня боль. Именно в 77 часто приходилось дешевле втыкать сообщить(переменная) часто. ну не перевариваю я после 8х отладчик 77. тут же ты можешь из табло вывести в ТД что тз, что все воткнутые в табло переменные (например запрос и его параметры).
в общем тема не про это.
22 Злопчинский
 
04.08.26
00:50
(21) согласен. В 8ке без отладчика совсем никак, это вам это вамнам не 77.
23 ptiz
 
04.08.26
11:22
(21) Зато в 7.7 можно было запустить несколько отладчиков к одной базе! 8ка ещё сырая в этом плане.
24 SergeyGr
 
04.08.26
15:52
(17, 19) Эта опция включена
Но на форме программно устанавливается видимость элементов через условное оформление.

(12) Все верно !  Но база "БАЗОВАЯ". Предлагал бухгалтеру внешнюю обработку. Она категорически отказалась.
25 SergeyGr
 
04.08.26
15:52
Всем ОГРОМНАЯ благодарность за советы !

Спасибо !!!
26 Гена
 
гуру
05.08.26
08:43
(12) Это не счета учёта, т.е. не 41 или 45.
Это счета доходов и расходов 90, которые пока при отрузке без перехода права собственности не задействованы, но понадобятся, когда на основании этого дока будет проведена реализация отгруженных товаров.

Скорее всего при программном создании дока отгрузки забыли сделать освежанс видимости искомых колонок доходов/расходов.
Надо найти этот освежанс для нормального типового создания документа и добавить в свою загрузку из Озона.
27 Гена
 
гуру
05.08.26
08:56
Демо 201.16
В процедуре ПриСозданииНаСервере есть обращение:
УстановитьУсловноеОформление();

которое даёт:
ОбновитьУсловноеОформление(ЭтотОбъект);

а в нём:
Форма.УстановитьУсловноеОформлениеТовары();

Эта процедура экспортная:
Процедура УстановитьУсловноеОформлениеТовары() Экспорт
...
    ЭлементУО = УсловноеОформление.Элементы.Добавить();

    КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТоварыСчетДоходов");
    КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТоварыСчетРасходов");
    КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТоварыСчетУчетаНДСПоРеализации");

...
Спинным мозгом чувствую - то, что надо для внедрения в загрузку )
28 Климов Сергей
 
05.08.26
09:02
(26) Приведённый код заполняет _все_ бухгалтерские счета в документе. Как в табличных частях, так и в шапке.
29 Гена
 
гуру
05.08.26
09:10
(28) Автору нужно не заполнение счетов, а видимость колонок на форме, чтобы пользователь мог их увидеть и поправить в случае нужды. Заполнение, похоже, уже есть, раз любое изменение, например, договора, их выявляет.
30 Климов Сергей
 
05.08.26
09:49
(29) Может быть. Но вот в эту фразу:
Перевыбираешь договор и столбики появляются, и автоматически заполняются правильными счетами.
я не верю. При выборе договора в типовой БП не меняется видимость счетов учёта. Они только заполняются. А видимость рулится персональными настройками. Которые при выборе договора не меняются.
31 Гена
 
гуру
05.08.26
10:05
(30) Надо уточнить у программистов. Чисто визуально при любом изменении шапки появляется значок "*" вверху. Может я и не прав, но скорее всего при этом освежается форма. А может и нет )
32 Nedomolkov_
Ivan
 
05.08.26
19:14
(31) Механика УО тут снимает противоречие: условное оформление пересчитывается при изменении данных формы, а не только при её открытии. Поэтому и (30) прав — персональная настройка от выбора договора не меняется, и (26) прав — колонки после перевыбора появляются, просто это пересчёт оформления на новых данных.

Смотреть надо не на ДобавитьОформляемоеПоле, а на Отбор у того же ЭлементУО: в нём и записано, от какого реквизита зависит видимость колонки. Один элемент — одно условие, сразу видно, чего документу не хватает после программной загрузки.