|
Выгрузка - загрузка УПП - ЗУП | ☑ | ||
---|---|---|---|---|
0
Масянька
28.05.24
✎
16:30
|
День добрый!
Кратко: 1. в УПП формируется документ. 2. самописная выгрузка этого док-та в ЗУП. 3. в ЗУП рассчитывается НДФЛ (в загруженного документе). 4. надо НДФЛ загрузить обратно в УПП. Цикл в цикле (перебор ТЧ)? Или есть более элегантный способ? Выгружать из ЗУП в УПП не вариант (разные колонки и (соответсно) данные). Спасибо. |
|||
1
Asmody
28.05.24
✎
16:34
|
ну, можно из ЗУПа на листочке распечатать и с него ручками ввести. вариант?
|
|||
2
Homer
28.05.24
✎
16:34
|
грузить данные в док Корректировка учета НДФЛ.
|
|||
3
Масянька
28.05.24
✎
16:35
|
(1) Я только "ЗА"! Но бухи против...
А противовес у них... |
|||
4
вшыуд
28.05.24
✎
16:44
|
//*******
2. самописная выгрузка этого док-та в ЗУП. Выгружать из ЗУП в УПП не вариант (разные колонки и (соответсно) данные). //******* Как стыкуется один с другим? |
|||
5
Масянька
28.05.24
✎
16:45
|
(4) Физлицо (код) - ТЧ.
Сам док-т - номер и дата. |
|||
6
вшыуд
28.05.24
✎
16:51
|
Без структуры данных трудно понять.
Конвертация 2 и регламентированные фоновые задания по расписанию. Пусть сами все делают. |
|||
7
вшыуд
28.05.24
✎
16:55
|
> Выгружать из ЗУП в УПП не вариант (разные колонки и (соответсно) данные).
В ЗУПе есть документ "Данные для расчета зарплаты". Закидываете туда данные и работайте с ними. |
|||
8
Мультук
28.05.24
✎
17:08
|
(0)
1) Чисто ради интереса, почему из УПП в ЗУП через COM-можно, а обратно уже нет ? 2) Путь "тру-джедая" Ведь нужно срочно/важно/быстро/дешево (и вполне возможно только один раз) Если физ.лица можно гарантированно искать по коду, то Пишем в ЗУП обработку, выбираем нужный документ, жмем Кнопку "Выгрузить" Формат выгрузки: можно во что угодно, хоть в CSV, JSON, XML То что умеете и то сможет скушать УПП Транспорт: пусть будет файл в общей сетевой папке Загрузка: Пишем еще одну обработка в УПП, обработка кушает выгруженный файл и обновляет указанный документ или создает новый или еще что-то. Бухи радостно жмут кнопки, наблюдают мгновенный результат. От радости начинают подбрасывать в воздух чепчики и иные предметы гардероба и ... Но. Увы, Масяня девочка -- всё это подбрасывание бесполезно. |
|||
9
Масянька
28.05.24
✎
17:19
|
Да, всё есть (и туда, и обратно).
Меня интересует: обратно, заполнение одной колонки - как находить нужного физика и менять сумму? Цикл в цикле - ежу понятно. А более красиво? |
|||
10
Масянька
28.05.24
✎
17:20
|
(8) Увы, батенька, Вы не Ванга...
|
|||
11
Мультук
28.05.24
✎
17:30
|
(9)
Например: ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("ФизЛицо", ФизЛицо); НайденныеСтроки = Табчасть.НайтиСтроки(ПараметрыОтбора); Если НайденныеСтроки.Количество() = 1 Тогда //НайденныеСтроки[0].Сумма = Сумма; ИначеЕсли НайденныеСтроки.Количество() = 0 Тогда //Не нашли. Что делать ??? Иначе //Нашли. Но он несколько раз. Что делать ??? КонецЕсли; P.S. Но вообще это синтаксический сахар и всё равно будет цикл в цикле, но зато удобно |
|||
12
SleepyHead
29.05.24
✎
05:07
|
(11) Главное, создание структуры вынести за пределы цикла.
А то у меня в подобной задаче 1с сожрала всю память менее, чем за 5 минут - а надо было сопоставить всего лишь около 10 000 физлиц. Очень большой расход памяти идёт как при создании новой структуры, так и в методе НайтиСтроки, который каждый раз создает массив со ссылками на строки таблицы значений В итоге я пошел другим путем - 1. Таблицу значений сортирую по нужной колонке - например, по СНИЛС, когда сопоставляю физлиц 2. нахожу первую строку с таким СНИЛС методом Найти() и определяю индекс этой строки 3. с этого индекса и дальше в цикле обрабатываю строки и делаю вывод, какие из них мне подходят 4. как только значение ключевого поля поменялось, цикл прекращается По времени получается даже быстрее, чем через НайтиСтроки, а памяти ест значительно меньше Но и работает это только в том случае, если поиск выполняется только по одной колонке таблицы. |
|||
13
DimVad
29.05.24
✎
06:46
|
Я бы :
1. В ЗУПе обработкой создавал ТЗ. Колонки - Номер Документа, Дата Документа, Физлицо, НДФЛ. 2. Одной командой выгружал ТЗ в файл xml. 3. В УПП одной командой загружал ТЗ из файла, индексировал по номерам, датам, физлицам. 4. В УПП обхожу документы и их строки - и делаю поиск в индексированном ТЗ. Это будет очень быстро. Усё. |
|||
14
DrZombi
29.05.24
✎
06:58
|
(8) Можно и через сервисы, хоть в ЗУП, хоть в УПП. Но придется все писать и дописывать. :)
|
|||
15
DrZombi
29.05.24
✎
07:09
|
(9) Используйте хранилища объектов для обменов... Т.е. запоминайте УИД физ.лица...
1. Выгрузка в ЗУП, вы выгружаете и данные и УИД физика, коль у вас на комках, то тама можно тоже уиды получить :) Функция ПолучитьГУИД_ЭлементаCOM(COM_ФизическоеЛицо,БазаИсточник) Попытка Возврат Строка(БазаИсточник.String(COM_ФизическоеЛицо.УникальныйИдентификатор())); Исключение Возврат ""; КонецПопытки; КонецФункции 2. Запоминаете УИД-ы в УПП, в данных для обмена, нужно еще создать псевдо узел, для хранения сей информации... При выгрузки обратно в ЗУП, вы уже будете иметь у себя УИД-ы физика, от которого вы выгружались :) |
|||
16
SleepyHead
29.05.24
✎
07:10
|
(15) А потом сделали выгрузку-загрузку данных, и ваши уиды стали тыквой
|
|||
17
Гена
29.05.24
✎
07:12
|
Давно пора менять полностью алгоритм недрожащей рукой. Концепция пинг-понга документов туда-сюда ошибочна. Всё надо переделать.
В ЗУПе вести нормальные кадры и зарплату, а в УПП выгружать отражения в бухучёте. Не синхронизировать, а именно что выгружать, как это было в ЗУП 2.5 Иначе так и будут вечные нестыковки и косяки при пинг-понге. |
|||
18
DrZombi
29.05.24
✎
07:13
|
+(15) (0) Рекомендую перейти на использование вэб-сервисов, т.е. поднять вэб сервер.
Лицензия не понадобится для сервисов Там, в вэбе, лучше можно обмен реализовать :) |
|||
19
DrZombi
29.05.24
✎
07:15
|
(16) А потом, не использовать псевдо Узел, т.к. он нужно вам только для вашего обмена.
Вы понимаете, что делаете? Нет? Тут как ни крути, тыква получаться будет в любом варианте :) |
|||
20
DrZombi
29.05.24
✎
07:16
|
+(16) Вы понимаете, что хранить информацию в своем узле, не означает, что вам разрешено использовать его в штатных обменах от 1С... т.е. ваш узел только для вашего обмена :)
|
|||
21
SleepyHead
29.05.24
✎
07:27
|
(19) Ну, тут вам виднее, вы же сначала не писали об обмене через веб-сервисы.
|
|||
22
DrZombi
29.05.24
✎
07:38
|
(21) ТС не настаивал, а я прошел этот путь...
Сейчас импортно-замещение на линукс ("импортный") :) |
|||
23
Масянька
29.05.24
✎
08:44
|
(17) Согласна ("изменять алгоритм").
Давно пора иметь возможность использовать одну базу (например, сотрудников) в разных программах (бухгалтерия, ЗУП и пр.). |
|||
24
Chai Nic
29.05.24
✎
09:04
|
(23) Хорошая идея, централизованный классификатор справочной информации для разных баз и организаций. Может когда-то к этому и придут. Причем, неплохо было бы, если бы это было прозрачно на уровне платформы, даже не в конфигураторе - просто в настройках информационной базы указать, что такие-то справочники хранить отдельно, в другой базе. Тем более, что справочники как правило не требуют транзакционности.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |