|
Как определить по префиксам документ продает или покупает? 🠗 (PR 06.10.2011 10:59) | ☑ | ||
---|---|---|---|---|
0
Blakangelos
06.10.11
✎
10:12
|
Версия 1С 7
префиксы прп, нп, нпп, Св, , Пнц, Св ??? |
|||
1
filh
06.10.11
✎
10:13
|
чего? уже пятница?
|
|||
3
unknown181538
06.10.11
✎
10:14
|
Зачет!
|
|||
4
Blakangelos
06.10.11
✎
10:18
|
у меня выгрузка из стороней программы похожа на 1С v7 там есть SupplDocID:П
НЦ064248 ПНЦ064295 ПНЦ055420 ПНЦ064240 ПНЦ063303 СВЗ001174-ПНЗ000001 и есть DocID ПРЗ20110801@3 ПРЗ20110801@3 ПРЗ20110801@3 ПРЗ20110801@3 ПРЗ20110801@3 НПЦ066332 НПЦ066332 НПЦ066332 как определить где продажа где поставка ? как то по префиксам но я не в курсе как :( Шоколадные дыры свои зарыли. |
|||
5
Rie
06.10.11
✎
10:18
|
(0) Префикс у любого документа можно поставить _любой_.
В глобальном модуле посмотри - каким документам автоматически префиксы присваиваются. И будет половина счастья. Вторая половина наступит, когда поиском пройдёшься насчёт "УстановитьНовыйНомер". |
|||
6
Rie
06.10.11
✎
10:19
|
(4) Никак не определить - пока не залезешь в ту стороннюю программу.
|
|||
7
Rie
06.10.11
✎
10:20
|
+(6) Это могут быть вообще не продажи/покупки, а фирмы, к примеру.
|
|||
8
Эльниньо
06.10.11
✎
10:20
|
А что непонятного?
прп - Продаёт и Реализует Продукцию нп - Не Продаёт нпп - Не Продаёт Похоже ... |
|||
9
Blakangelos
06.10.11
✎
10:21
|
а РНЦ, РНП СВ ???
|
|||
10
Blakangelos
06.10.11
✎
10:23
|
Вот эта выгрузка http://disk.tom.ru/p2dz1ax
|
|||
11
Blakangelos
06.10.11
✎
10:23
|
может что подскажите
|
|||
12
Любопытная
06.10.11
✎
10:24
|
Тебе уже подсказали же
|
|||
13
Blakangelos
06.10.11
✎
10:24
|
да вот смотрю проги через которые выгружали и что то там ничего похожего не вижу :(
|
|||
14
Blakangelos
06.10.11
✎
10:26
|
Что бы префикс указывать нужно же писать Префикс(ИБ) ???
|
|||
18
Rie
06.10.11
✎
10:29
|
(14) Вы о чём? Указывать где? Писать что?
|
|||
23
Rie
модератор
06.10.11
✎
10:33
|
В тематических ветках имеет смысл придерживаться темы. В том числе и топикстартеру, которому ближайшее время предстоит немного отдохнуть.
|
|||
24
Blakangelos
06.10.11
✎
10:54
|
//-----------------------------------------------------------------------------
Функция ПолучитьКаталог(ВыбФайл) СтрКаталог = СокрЛП(ВыбФайл); ИсхСтр = СокрЛП(ВыбФайл); НовыйКаталог = ""; Если СтрЧислоВхождений(ИсхСтр, ".") = 0 Тогда Возврат ИсхСтр; КонецЕсли; Если СтрЧислоВхождений(СтрКаталог, "\") > 0 Тогда Поз = Найти(СтрКаталог, "\"); Пока Поз > 0 Цикл СтрКаталог = Прав(СтрКаталог, СтрДлина(СтрКаталог)-Поз); Поз2 = Найти(ИсхСтр, СтрКаталог); НовыйКаталог = Лев(ИсхСтр, Поз2-1); Поз = Найти(СтрКаталог, "\"); КонецЦикла; КонецЕсли; Возврат НовыйКаталог; КонецФункции //----------------------------------------------------------------------------- // Выбор файла Функция ВыборФайла(ВыбФайл, СтрЗаголовок, СтрПриглашение) Перем ПредстСпр; НовыйФайл = ""; НовыйКаталог = ПолучитьКаталог(ВыбФайл); Если НовыйКаталог = "" Тогда НовыйКаталог = ФС.ТекКаталог() КонецЕсли; Если ФС.ВыбратьФайл(0, НовыйФайл, НовыйКаталог, СтрЗаголовок, СтрПриглашение+"(*.txt)|*.txt|Все файлы(*.*)|*.*", "txt") = 1 Тогда ВыбФайл = НовыйКаталог+НовыйФайл; Возврат 1; КонецЕсли; Возврат 0; КонецФункции //******************************************* Функция РазбитьСтроку(всз,Стр,Разделитель) всз=СоздатьОбъект("СписокЗначений"); //Возвращаемый список значее //всз=СЗ; закончить=0; Пока закончить=0 Цикл поз=Найти(Стр,Разделитель); Если поз=0 Тогда всз.ДобавитьЗначение(Стр); закончить=1; Иначе всз.ДобавитьЗначение(лев(Стр,поз-1)); Стр=Прав(Стр,СтрДлина(Стр)-поз-СтрДлина(Разделитель)+1); КонецЕсли; КонецЦикла; Возврат всз; КонецФункции //******************************************* Процедура ОбработкаКонтрагента() Перем всз,Контр,Валюта,Курс,Договор,Кратность; Кол_во = 0; Файл=СоздатьОбъект("Текст"); Фирма=СоздатьОбъект("Справочник.Фирмы"); Спр=СоздатьОбъект("Справочник.Склады"); СпрНом=СоздатьОбъект("Справочник.Номенклатура"); СпрЕД=СоздатьОбъект("Справочник.Единицы"); СпрЦены=СоздатьОбъект("Справочник.Цены"); СпрТипыЦен=СоздатьОбъект("Справочник.ТипыЦен"); СпрКонтр=СоздатьОбъект("Справочник.Контрагенты"); СпрДог=СоздатьОбъект("Справочник.Договоры"); Док=СоздатьОбъект("Документ.ПоступлениеТМЦ"); Файл.КодоваяСтраница(0); Файл.Открыть(ВыбФайлЗагрузки); ВсегоЭлементовВФайле=Окр((Файл.КоличествоСтрок()),0,1); ВсегоЭлементовВФайле=ВсегоЭлементовВФайле-1; НачатьТранзакцию(); СтарНом=""; Для нн=2 По ВсегоЭлементовВФайле Цикл //Для нн=2 По ВсегоЭлементовВФайле Цикл Стр=СтрЗаменить(Файл.ПолучитьСтроку(нн),",","."); РазбитьСтроку(всз,Стр,Разделитель); Код = Строка(всз.ПолучитьЗначение(2)); Кол_во = Число (СокрЛП(всз.ПолучитьЗначение(5))); СтавкаНДС = Число (СокрЛП(всз.ПолучитьЗначение(24))); СуммаНДС = Число (СокрЛП(всз.ПолучитьЗначение(27))); Сумма = Число (СокрЛП(всз.ПолучитьЗначение(12))); Если Кол_во>0 Тогда Цена= Сумма/Кол_во; Иначе Цена=0; КонецЕсли; НомДок = Строка(всз.ПолучитьЗначение(8)); НомДок2 = Лев(НомДок,2); ПрефиксДок = Лев(НомДок,3); ДатаДок = Дата(всз.ПолучитьЗначение(3)); КодФирмы = "00001"; КодСклада = Строка(всз.ПолучитьЗначение(7)); КодКонтрагента = Строка(всз.ПолучитьЗначение(6)); Если СтарНом=НомДок Тогда //Продолжение дока //тут только ТЧ Если СпрКонтр.НайтиПоКоду(КодКонтрагента,)=1 Тогда Док.Контрагент = СпрКонтр.ТекущийЭлемент(); Иначе Продолжить КонецЕсли; Док.НоваяСтрока(); Док.ВидТМЦ = Перечисление.ВидыТМЦ.Товар; Если СпрНом.НайтиПоКоду(Код,)=1 Тогда Док.Номенклатура = СпрНом.ТекущийЭлемент(); Иначе КонецЕсли; Док.Количество = Кол_во; Док.Единица = СпрНом.БазоваяЕдиница.ТекущийЭлемент(); Док.Коэффициент = 1; Док.Цена = Цена; Если (СтавкаНДС = 18) или (СтавкаНДС = 20) Тогда Док.СтавкаНДС = Перечисление.СтавкиНДС.НДС18 Иначе Док.СтавкаНДС = Перечисление.СтавкиНДС.НДС10 КонецЕсли; Док.СуммаНДС = СуммаНДС; Док.Сумма = Сумма; СуммаВзаиморасчетовДок = СуммаВзаиморасчетовДок + Док.Сумма; Док.СуммаВзаиморасчетов = глПересчет(СуммаВзаиморасчетовДок, Валюта,Курс, Договор.ВалютаВзаиморасчетов,ДатаДок,Кратность); Иначе Если ПустоеЗначение(СтарНом)=0 Тогда //Док.Записать(); КонецЕсли; Если (Док.НайтиПоНомеру(НомДок,ДатаДок,)=0) и (НомДок2="ПН") и (ПрефиксДок <> "ПНЗ") Тогда СтарНом=НомДок; СуммаВзаиморасчетовДок = 0; Док.Новый(); Док.НомерДок = НомДок; Док.ДатаДок = ДатаДок; Док.КодОперации = Перечисление.КодыОпераций.Закупка; Если Фирма.НайтиПоКоду(КодФирмы,)=1 Тогда Док.Фирма = Фирма.ТекущийЭлемент(); Иначе КонецЕсли; Если Спр.НайтиПоКоду(КодСклада,)=1 Тогда Док.Склад = Спр.ТекущийЭлемент(); Иначе КонецЕсли; Если СпрКонтр.НайтиПоКоду(КодКонтрагента,)=1 Тогда Док.Контрагент = СпрКонтр.ТекущийЭлемент(); Иначе Сообщить("Не найден контрагент по документу - "+ НомДок+" от "+ДатаДок); Продолжить КонецЕсли; СпрДог.ИспользоватьВладельца(Док.Контрагент); Если СпрДог.НайтиПоНаименованию("Основной договор",1,0)=1 Тогда Док.Договор = СпрДог.ТекущийЭлемент(); Договор = Док.Договор; // Сообщить(Док.Контрагент); Иначе Сообщить(Док.Контрагент+" не найден договор!!!"); КонецЕсли; Док.Валюта = глРубли; Валюта = Док.Валюта; ВалютаВзаиморасчетов = глРубли; Кратность =1; Док.Курс=1; Курс =1; Док.УчитыватьНДС =1; Док.СуммаВклНДС =1; //Док.ТипЦен= // Загрузка первой строки табличной части Док.НоваяСтрока(); Док.ВидТМЦ = Перечисление.ВидыТМЦ.Товар; Если СпрНом.НайтиПоКоду(Код,)=1 Тогда Док.Номенклатура = СпрНом.ТекущийЭлемент(); Иначе КонецЕсли; Док.Количество = Кол_во; Док.Единица = СпрНом.БазоваяЕдиница.ТекущийЭлемент(); Док.Коэффициент = 1; Док.Цена = Цена; СпрЦены.ИспользоватьВладельца(Док.Номенклатура); СпрТипыЦен.НайтиПоНаименованию("Закупочные",0,0); Если СпрЦены.НайтиПоРеквизиту("ТипЦен",СпрТипыЦен.ТекущийЭлемент(),0)=0 Тогда СпрЦены.Новый(); СпрЦены.ИспользоватьДату(ДатаДок); СпрЦены.ТипЦен=СпрТипыЦен.ТекущийЭлемент(); СпрЦены.Цена=Цена; СпрЦены.Валюта=глРубли; СпрЦены.Единица=СпрНом.БазоваяЕдиница.ТекущийЭлемент(); СпрЦены.Записать(); Иначе //Сообщить("неа"+Док.Номенклатура); КонецЕсли; Если (СтавкаНДС = 18) или (СтавкаНДС = 20) Тогда Док.СтавкаНДС = Перечисление.СтавкиНДС.НДС18 Иначе Док.СтавкаНДС = Перечисление.СтавкиНДС.НДС10 КонецЕсли; Док.СуммаНДС = СуммаНДС; Док.Сумма = Сумма; СуммаВзаиморасчетовДок = СуммаВзаиморасчетовДок + Док.Сумма; Док.СуммаВзаиморасчетов = глПересчет(СуммаВзаиморасчетовДок, Валюта,Курс, Договор.ВалютаВзаиморасчетов,ДатаДок,Кратность); //Новыйдок+1 строка Иначе //Сообщить("Документ номер " + Код + " уже существует!!!"+НомДок); Продолжить; КонецЕсли; КонецЕсли; Док.Записать(); КонецЦикла; Если ПустоеЗначение(СтарНом)=0 Тогда // Док.Записать(); КонецЕсли; ЗафиксироватьТранзакцию(); Сообщить("Загрузка завершена!"); КонецПроцедуры //----------------------------------------------------------------------------- Процедура ВыборФайлаЗагрузки() ВыборФайла(ВыбФайлЗагрузки, "Выберете файл для загрузки", "Файл для загрузки"); КонецПроцедуры |
|||
25
Blakangelos
06.10.11
✎
10:55
|
вот код тут только нашел Про закупку а про продажу неа , может кто знает взглянет и поскажет?
|
|||
26
filh
06.10.11
✎
10:56
|
(24) и что это за вброс?
|
|||
27
filh
06.10.11
✎
10:56
|
(25) нашел? Ахтунг?
|
|||
28
Blakangelos
06.10.11
✎
11:01
|
не понял твоих речей
|
|||
29
PR
06.10.11
✎
11:04
|
(28) Так ты мужик или тетка? Или толстый троль?
|
|||
30
Blakangelos
06.10.11
✎
11:42
|
какая тебе разница
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |