|
Обработка для создания счетов 8.3 БП | ☑ | ||
---|---|---|---|---|
0
MixanMM
17.04.22
✎
12:12
|
Добрый день, подскажите пожалуйста, может кто то уже реализовывал - обработка, которая загружает из файла и создает новые документы "Счет покупателю" по каждому контрагенту ?
|
|||
1
Кац
17.04.22
✎
12:20
|
Скорей всего да
|
|||
2
Лирик
17.04.22
✎
12:20
|
(0) Реализовывали и не раз.
|
|||
3
MixanMM
17.04.22
✎
12:34
|
(2) Может кто то поделится обработкой?
|
|||
4
2S
17.04.22
✎
12:37
|
(3) ну конечно, повсеместно используется только ваш шаблон данных.
|
|||
5
Лирик
17.04.22
✎
12:43
|
(4) Вы не понимаете, это должна быть очень продвинутая обработка. Для начала она должна определить тип загружаемого файла, потом с помощью искусственного интеллекта определить что за данные были переданы, и если этих данных не хватит или она 9обработка) не сможет определить что то, то тогда она должна позвонить заказчику и уточнить. Для этого в ней должен быть реализован функционал IP телефонии. Ну и телепат модуль, для кучи.
|
|||
6
Aleksey
17.04.22
✎
12:45
|
В типовой загрузка уже реализовано. Осталось подобрать файл нужного формата
|
|||
7
MixanMM
17.04.22
✎
13:48
|
(6) Нужный формат данных я могу сформировать сам - там данные из SQL.
(5) Если вы реализовывали - можете поделиться наработкой?, под нужный формат файла данных - я сделаю для 1с. |
|||
8
MixanMM
17.04.22
✎
13:49
|
(6) Можете подсказать, про реализацию в типовой загрузке - где искать?
|
|||
9
breezee
17.04.22
✎
15:01
|
(8) загрузка данных из табличного документа
|
|||
10
Aleksey
18.04.22
✎
04:59
|
||||
11
MixanMM
18.04.22
✎
09:08
|
(10) Немного не то -мне нужно что бы не много номенклатур загружалось в счёт, а одна номенклатура и её кол-во, в несколько счетов нескольким клиентам, вот это имел ввиду, т.е программа сформирует файл для 1С, а 1с уже на основании обработки этого файла будет создавать документы, типа так:
НовДок=Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); НовДок.Дата= ТекущаяДата(); НовДок.ТипЦен= Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000001"); НовДок.Контрагент= Справочники.Контрагенты.НайтиПоКоду(ИдКлиента); НовДок.Организация= Справочники.Организации.НайтиПоКоду("000000001"); НовДок.ОрганизацияПолучатель = НовДок.Организация; НовДок.УчитыватьНДС = Истина; НовДок.СуммаВключаетНДС = Истина; НовДок.Комментарий = "Счёт создан при импорте."; НовДок.Записать(); |
|||
12
MixanMM
21.04.22
✎
12:17
|
Добрый день, подскажите пожалуйста, написал процедур по загрузке данных в счёт из файла, она отрабатывает, но почему то не создает в счёт несколько позиций товара, а вносит только одну
<CODE> Процедура Команда2НаСервере() //ОсновнаяОрганизация = БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация"); ОсновнаяОрганизация = БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация"); АртикулТекст ="AFA100L"; СписокЗначений = Новый СписокЗначений; ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл("C:\Users\Mishin\Documents\new 1.xml"); Построитель = Новый ПостроительDOM; Документ = Построитель.Прочитать(ЧтениеXML); Для Каждого Элемент0 Из Документ.ЭлементДокумента.ДочерниеУзлы Цикл Если Элемент0.ИмяУзла = "Клиент" Тогда Клиент = Элемент0; Название = Клиент.Атрибуты.ПолучитьИменованныйЭлемент("Название"); Если Название <> Неопределено Тогда Сообщить("== " + Название.Значение + " =="); КонецЕсли; Для Каждого Элемент1 Из Клиент.ДочерниеУзлы Цикл Если Элемент1.ИмяУзла = "СтрокаСостава" Тогда СтрокаСостава = Элемент1; Для Каждого Элемент2 Из СтрокаСостава.ДочерниеУзлы Цикл Если Элемент2.ИмяУзла = "Количество" Тогда Количество = Элемент2; литров = Количество.Атрибуты.ПолучитьИменованныйЭлемент("литров"); Если литров <> Неопределено Тогда СписокЗначений.Добавить(литров.Значение); Сообщить(" литров" + литров.Значение); Цена = Количество.Атрибуты.ПолучитьИменованныйЭлемент("Цена"); Если Цена <> Неопределено Тогда СписокЗначений.Добавить(Цена.Значение); Сообщить("Цена: " + Цена.Значение); КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; НовыйДокумент = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); НовыйДокумент.Дата = ТекущаяДата(); НовыйДокумент.Организация = ОсновнаяОрганизация; НовыйДокумент.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Название.Значение); НоваяСтрока=НовыйДокумент.Товары.Добавить(); НоваяСтрока.Номенклатура = НайтиНоменклатуруПоАртикулу(АртикулТекст); НоваяСтрока.Количество = СписокЗначений[0].Значение; НоваяСтрока.Цена = СписокЗначений[1].Значение; НоваяСтрока.Сумма = НоваяСтрока.Цена*НоваяСтрока.Количество; НоваяСтрока.СтавкаНДС = 20; НовыйДокумент.СуммаВключаетНДС = Истина; НовыйДокумент.Комментарий = "Счёт создан при импорте."; НовыйДокумент.Записать(); СписокЗначений.Очистить(); Сообщить("Счет Создан"); КонецЕсли; КонецЦикла; ЧтениеXML.Закрыть(); КонецПроцедуры </CODE> |
|||
13
MixanMM
21.04.22
✎
12:18
|
Сам файл вот с такой структурой :
<CODE> <?xml version="1.0" encoding="UTF-8"?> <СписокКлиентов> <Клиент Название= "УБРИР КБ ПАО"> <СтрокаСостава> <Количество литров="10" Цена ="23" /> <Количество литров="20" Цена ="24" /> </СтрокаСостава> </Клиент> <Клиент Название= "ГКУ ЯМАЛСПАС"> <СтрокаСостава> <Количество литров="30" Цена ="23" /> <Количество литров="40" Цена ="24" /> </СтрокаСостава> </Клиент> </СписокКлиентов> </CODE> |
|||
14
Garykom
гуру
21.04.22
✎
12:21
|
(11) ыыыы
|
|||
15
Garykom
гуру
21.04.22
✎
12:21
|
В связи с текущей ситуаций в ИТ прогнозирую всплеск тем аля "86 год"
|
|||
16
Garykom
гуру
21.04.22
✎
12:24
|
(15)+ Или "96" уже не помню
Это когда толпа бывших менагеров/таксистов ломанется в 1С, со странными вопросами и нереальными хотелками |
|||
17
MixanMM
21.04.22
✎
12:24
|
(15) Извиняюсь, разобрался. Давно на 1С не писал прост
|
|||
18
Garykom
гуру
21.04.22
✎
12:25
|
(0) Реализовывал и неоднократно.
Ничего сложного для прога нет, если конечно в файле есть все необходимые данные. |
|||
19
MixanMM
21.04.22
✎
12:25
|
(16) Это верное)
|
|||
20
MixanMM
21.04.22
✎
12:26
|
(18) Кстати, можете поделиться опытом - как проставить "Банковский счет" при создании документа "Счёт" ?
|
|||
21
Garykom
гуру
21.04.22
✎
12:27
|
(13) 1. "<Клиент Название= "УБРИР КБ ПАО">" - заводишь доп реквизит или доп сведение (имя не забыть задать нормальное для запросов) в справочник контрагенты или лучше договоры, куда и пишешь по сути "коды для загрузки" "УБРИР КБ ПАО"
2. Номенклатуру лучше в настройки обработки или еще куда, короче не по коду искать а выбирать с сохранением |
|||
22
Garykom
гуру
21.04.22
✎
12:27
|
(20) ДокументСчет.СтруктурнаяЕдиница = Объект.БанковскийСчет;
|
|||
23
Garykom
гуру
21.04.22
✎
12:30
|
(11) НовДок.Заполнить(Неопределено); желательно вставить посередине в нужном месте
|
|||
24
MixanMM
21.04.22
✎
12:31
|
(21) Принял, спасибо. Но там момент есть - файл xml формирует другая программа, в ней я сделаю файл для 1с с выгрузкой по ИНН Контрагента, не по наименованию
(23) Спасибо, учту |
|||
25
Garykom
гуру
21.04.22
✎
12:34
|
(24) ИНН+КПП тогда
чтобы не было мучительно больно когда дубли (обособленныес другим КПП или просто дубль) по ИНН, это надо учитывать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |