|   |   | 
| 
 | Ищу обработку для сверки товарных остатков УТ 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) надо его завести
 проще один раз скопом пронумеровать и по мере необходимости мелкие части, нежели каждый раз по новой начинать сравнивать | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |