|
Ищу обработку для сверки товарных остатков УТ 11 и БП 2.0 | ☑ | ||
---|---|---|---|---|
0
Paul_Nevada
05.05.16
✎
17:05
|
Поделитесь, если кто-то имеет "заготовки" подобные, плиз.
|
|||
1
Paul_Nevada
05.05.16
✎
17:06
|
буду рад и идее по ее написанию
|
|||
2
mikecool
05.05.16
✎
17:06
|
эксель, не?
|
|||
3
Paul_Nevada
05.05.16
✎
17:06
|
(2) ну не)
|
|||
4
mikecool
05.05.16
✎
17:07
|
(3) а чо? впр рвет и мечет
|
|||
5
Paul_Nevada
05.05.16
✎
17:08
|
(4) впр это кто?)
|
|||
6
Timon1405
05.05.16
✎
17:08
|
(0) Лезете по ком в другую базу,синхронизируетесь по номенклатуре, тащите остатки, выводите в табдок в исходной базе
|
|||
7
Timon1405
05.05.16
✎
17:08
|
||||
8
Звездец
05.05.16
✎
17:09
|
ты бы хоть ситуацию описал зачем тебе это понадобилось? ручками ведете 2 независимые базы?
|
|||
9
mikecool
05.05.16
✎
17:09
|
(5) эксель вычеркиваем ))
|
|||
10
Paul_Nevada
05.05.16
✎
17:09
|
(9) впр - кто???)))
|
|||
11
Paul_Nevada
05.05.16
✎
17:11
|
ок, впр - что?)))
|
|||
12
mikecool
05.05.16
✎
17:11
|
(10) ВПР
Показать всеПоказать все Скрыть всеСкрыть все Ищет значение в первом столбце массива таблицы и возвращает значение в той же строке из другого столбца массива таблицы. Буква В в названии функции ВПР означает «вертикально». Функция ВПР используется вместо функции ГПР, если сравниваемые значения расположены в столбце слева от искомых данных. Синтаксис |
|||
13
doguje
05.05.16
✎
17:17
|
Есть такой файл
revise_remainder.rar не знаю как его отправить? |
|||
14
mikecool
05.05.16
✎
17:22
|
ничего сложного с экселем
в базах запросом хапаем линейную таблицу остатков, потом впр-им в экселе и наслаждаемся на все про все - пол часа с перекуром |
|||
15
doguje
05.05.16
✎
17:31
|
||||
16
Звездец
05.05.16
✎
17:33
|
опять спамер завелся (15)
|
|||
17
doguje
05.05.16
✎
18:07
|
Я не спамер - я 1с-ник!
Уточните задачу. 1) Перенос из торговли в бухгалтерию 2) Перенос наоборот 3) Сравнение и выявление отличий ну или что-другое... |
|||
18
doguje
05.05.16
✎
18:09
|
перем xml_fso;
перем xml_file; перем xml_СтекТегов; перем xml_ТегОткрыт; перем xml_Отступы; Перем ИмяНачКаталога; /////////////////////////////////////////////////////////////////////// //Открывает файл XML в режиме записи. Если файл существовал, перезаписывает его. //Принимает параметр прм_ИмяФайла - имя файла (укажите полный путь и расширение .XML) Процедура xml_СоздатьФайл(прм_ИмяФайла) xml_fso=СоздатьОбъект("Scripting.FileSystemObject"); xml_file=xml_fso.CreateTextFile(прм_ИмяФайла, -1, 0); //создать файл, перезаписывая существующий xml_file.WriteLine("<?xml version=""1.0"" encoding=""windows-1251""?>"); //Пишем заголовок XML xml_СтекТегов=СоздатьОбъект("СписокЗначений"); xml_Отступы=""; xml_ТегОткрыт=0; КонецПроцедуры /////////////////////////////////////////////////////////////////////// //Записывает начало элемента (тега XML). Имя можно указывать в угловых скобках. Процедура xml_ЗаписатьНачалоЭлемента(прм_ИмяТега) перем стр; Если xml_ТегОткрыт=1 Тогда xml_ТегОткрыт=0; xml_file.WriteLine(">"); xml_Отступы=xml_Отступы+" "; КонецЕсли; стр=прм_ИмяТега; стр=СтрЗаменить(стр, "<", ""); стр=СтрЗаменить(стр, ">", ""); xml_СтекТегов.ДобавитьЗначение(стр); xml_file.Write(xml_Отступы+"<"+стр); xml_ТегОткрыт=1; КонецПроцедуры /////////////////////////////////////////////////////////////////////// //Записывает атрибут (параметр) тега XML. Процедура xml_ЗаписатьАтрибут(прм_ИмяАтрибута, прм_ЗначениеАтрибута) Если xml_ТегОткрыт=0 Тогда Сообщить("Перед записью атрибута необходимо записать начало элемента!","!"); а=10/0; КонецЕсли; стр=прм_ЗначениеАтрибута; стр=СтрЗаменить(стр, "&", "&"); стр=СтрЗаменить(стр, """", """); стр=СтрЗаменить(стр, "<", "<"); стр=СтрЗаменить(стр, ">", ">"); стр=СтрЗаменить(стр, "'", "'"); xml_file.Write(" "+прм_ИмяАтрибута+"="+""""+стр+""""); КонецПроцедуры // xml_ЗаписатьЗаписатьАтрибут /////////////////////////////////////////////////////////////////////// //Записывает конец элемента (тега XML). Имя закрываемого тега можно указывать в угловых скобках, //а можно - не указывать вовсе. Процедура xml_ЗаписатьКонецЭлемента(прм_ОжидаемоеИмяТега="") перем стрИмяТега, а; Если xml_СтекТегов.РазмерСписка()<1 Тогда Сообщить("Попытка закрыть неоткрытый элемент!","!"); а=10/0; КонецЕсли; стрИмяТега=xml_СтекТегов.ПолучитьЗначение(xml_СтекТегов.РазмерСписка()); Если ПустаяСтрока(прм_ОжидаемоеИмяТега)=0 Тогда стр=прм_ОжидаемоеИмяТега; стр=СтрЗаменить(стр, "<", ""); стр=СтрЗаменить(стр, ">", ""); стр=СтрЗаменить(стр, "/", ""); Если стр<>стрИмяТега Тогда Сообщить("Ожидается имя тега "+стр+", а закрыто "+стрИмяТега,"!"); а=10/0; КонецЕсли; КонецЕсли; xml_СтекТегов.УдалитьЗначение(xml_СтекТегов.РазмерСписка()); Если xml_ТегОткрыт=1 Тогда xml_ТегОткрыт=0; xml_file.WriteLine("/>"); Возврат; КонецЕсли; xml_Отступы=лев(xml_Отступы, СтрДлина(xml_Отступы)-2); xml_file.WriteLine(xml_Отступы+"</"+стрИмяТега+">"); КонецПроцедуры // xml_ЗаписатьКонецЭлемента /////////////////////////////////////////////////////////////////////// //Закрывает открытый файл XML. После окончания работы с файлом его необходимо закрыть. Функция xml_Закрыть() xml_file.Close(); Если xml_СтекТегов.РазмерСписка()<>0 Тогда Сообщить("Имеются незакрытые элементы XML!","!"); а=10/0; КонецЕсли; КонецФункции // xml_Закрыть //******************************************** Процедура Сформировать() Перем ДатаЦены,ЦенаЦены,ЕдЦены,ВалЦены,НаценкаЦены,НайденнаяЦена; Если ПустоеЗначение(ВыбФирма)=1 Тогда Сообщить("Нужно выбрать фирму"); Возврат; КонецЕсли; Если ПустоеЗначение(ВыбСклад)=1 Тогда Сообщить("Нужно выбрать склад"); Возврат; КонецЕсли; Регистры=СоздатьОбъект("Регистры"); РегОст=Регистры.ОстаткиТМЦ; РегОст.УстановитьЗначениеФильтра("Фирма",ВыбФирма); РегОст.УстановитьЗначениеФильтра("Склад",ВыбСклад); Если ПустоеЗначение(К)=0 Тогда Если К<ТекущаяДата() Тогда РегОст.ВременныйРасчет(); Регистры.РассчитатьРегистрыПо(К); КонецЕсли; КонецЕсли; РегОст.ВыгрузитьИтоги(каиТ); каиТ.УдалитьКолонку("ЦенаПрод"); каиТ.Свернуть("Номенклатура","Количество"); стрИмяФайла=ФайлВыгрузки; Сообщить("Начало записи: "+стрИмяФайла); Сообщить("Время начала: "+ТекущееВремя()); xml_СоздатьФайл(стрИмяФайла); xml_ЗаписатьНачалоЭлемента("<ОстаткиТМЦ>"); xml_ЗаписатьНачалоЭлемента("<Фирма>"); xml_ЗаписатьАтрибут("Фирма", ВыбФирма); xml_ЗаписатьНачалоЭлемента("<Склад>"); xml_ЗаписатьАтрибут("Склад", ВыбСклад); xml_ЗаписатьАтрибут("ЭтоРозничныйСклад", ВыбСклад.РозничныйСклад); Если каиТ.КоличествоСтрок()=0 Тогда xml_ЗаписатьНачалоЭлемента("<СтрокаОстатка>"); xml_ЗаписатьАтрибут("Код", "0"); xml_ЗаписатьКонецЭлемента("</СтрокаОстатка>"); КонецЕсли; каиТ.ВыбратьСтроки(); Пока каиТ.ПолучитьСтроку() = 1 Цикл xml_ЗаписатьНачалоЭлемента("<СтрокаОстатка>"); xml_ЗаписатьАтрибут("Код", каиТ.Номенклатура.Код); xml_ЗаписатьАтрибут("Номенклатура", каиТ.Номенклатура); xml_ЗаписатьАтрибут("Количество", каиТ.Количество); xml_ЗаписатьКонецЭлемента("</СтрокаОстатка>"); КонецЦикла; xml_ЗаписатьКонецЭлемента("</Склад>"); xml_ЗаписатьКонецЭлемента("</Фирма>"); xml_ЗаписатьКонецЭлемента("</ОстаткиТМЦ>"); xml_Закрыть(); Сообщить("Конец записи: "+ТекущееВремя()); КонецПроцедуры // Сформировать() //******************************************** // Предопределенная процедура. // Процедура ПриНачалеВыбораЗначения(Идент,Флаг) Если Идент = "ФайлВыгрузки" Тогда Флаг = 0; ИмяФайла = ФайлВыгрузки; Если ФС.ВыбратьФайл(0,ИмяФайла,ИмяНачКаталога,"Выберите промежуточный файл переноса","Файлы xml (*.xml) |*.xml","xml",20) = 1 Тогда // "Файлы xml (*.xml) |*.xml" ФайлВыгрузки = ИмяНачКаталога+ИмяФайла; КонецЕсли; КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() |
|||
19
doguje
05.05.16
✎
18:10
|
Это был код из "1_СверкаОстатков_Торг_XML.ert"
их там два в архиве "revise_remainder.rar" |
|||
20
doguje
05.05.16
✎
18:13
|
Второй называется "2_СверкаОстатков_Бух_XML.ert"
откуда скачал не помню, но вроде рабочий код. Просто сейчас над похожей задачей работаю. ПС: мне пора домой. Всем пока! |
|||
21
Локи-13
05.05.16
✎
18:16
|
(1) вообще ерунда задача
по кому соединись, получи таблицу, и верти как хочешь |
|||
22
Звездец
05.05.16
✎
18:18
|
(21) вопрос только в одном, как сопоставлять номенклатуру, если базы ведутся независимо друг от друга
|
|||
23
Злопчинский
05.05.16
✎
18:53
|
(22) навоз вопрос
То что совпадает по наименованию - автоматом То что совпадает по набору слов в наименовании - автоматом Остальное - накопительно при сеансах сверки компонентной нечеткого сравнения У меня на клюшках сравнение номенклатуры по итогам между торг и бух вертится уже лет шесть Все ошибки которые выплывают - ржакак-обоссака - изиза какихто левых действий в бухбазе кривыми ручонками бухгалтеров |
|||
24
aspirator23
05.05.16
✎
21:08
|
||||
25
mikecool
05.05.16
✎
22:26
|
(23) и зачем такие навороты?
достаточно реквизита, одинакового между базами |
|||
26
Звездец
05.05.16
✎
22:45
|
(25) а если его нет? Если есть способ однозначной идентификации, то такой вопрос вообще не возникает
|
|||
27
mikecool
05.05.16
✎
22:47
|
(26) надо его завести
проще один раз скопом пронумеровать и по мере необходимости мелкие части, нежели каждый раз по новой начинать сравнивать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |