Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Я смотрю, по поиску Эксель очень мало топиков. Сделал загрузку документа 1С из Экселя. Те реквизиты документа, которые являются справочниками или обычным текстом или числом заполняются легко. А вот те, тип которых - "Документ" (например: Заказ, Договор и т.п.) никак не могу вставить. При загрузке пытался найти в соответствующем журнале документов по номеру мой документ из Экселя различными способами: докЗаказ = СоздатьОбъект("Документ.Заказ"); докЗаказ.НайтиПоНомеру(НомерИзЭкселя); и другими поисками. Все безрезультатно. Что-то я наверное не так делаю. Подскажите плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 00:34 |
|
||
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
antonionyдокЗаказ.НайтиПоНомеру(НомерИзЭкселя);По моему там второй параметр год. Проверьте без экселя - вдруг у вас количество "нулей" не совпадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 10:23 |
|
||
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
То есть, если у меня номер Заказа = "А-00001", то мне нужно искать "А-00001" + "2010"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 10:45 |
|
||
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
Смотрим встроенную справку. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 11:11 |
|
||
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
Я конечно прочитал справку перед тем как создавать топик, я не смог найти этот самый <ИдентВида>. Как его написать? Где их взять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 12:12 |
|
||
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
Я конечно не сомневаюсь что ты прочетал справку... Но там же русским написано: Код: plaintext Код: plaintext 1. Это значит, что если ты создал объект который соответствует конкретному виду документов, то этот параметр можно не использовать. Например Код: plaintext 1. 2. 3. 4. 5. Третий параметр используется только тогда, когда создавался объект типа "Документ", тоесть без указания конкретного вида документа. Тогда приведенный выше пример переделываем так. Код: plaintext 1. 2. 3. 4. 5. Вот как-то так.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 12:34 |
|
||
|
Проблема с загрузкой данных в 1С 7.7 из Excell
|
|||
|---|---|---|---|
|
#18+
Получилось, огромное спасибо!!! Выкладываю кусочек кода по загрузке из Экселя и проведения проводок. Может кому-то понадобится. Он очень ограниченный в проверках (на удаленные и т.п.), но как шаблон, я думаю сгодится. Это заполнение полей документа 1С из Экселя: Функция Заполнить() Excel=СоздатьОбъект("Excel.Application"); Excel.Workbooks.Open(Путь); а = 2; пока ПустаяСтрока(Excel.WorkBooks(1).Worksheets(1).Range("A" + а).Value) = 0 Цикл НоваяСтрока(); СчетДт = СчетПоКоду(Excel.WorkBooks(1).Worksheets(1).Range("B" + а).Value); Субконто1 = Excel.WorkBooks(1).Worksheets(1).Range("C" + а).Value; Субконто2 = Excel.WorkBooks(1).Worksheets(1).Range("D" + а).Value; Субконто3 = Excel.WorkBooks(1).Worksheets(1).Range("E" + а).Value; СчетКт = СчетПоКоду(Excel.WorkBooks(1).Worksheets(1).Range("F" + а).Value); СубкотноКт1 = Excel.WorkBooks(1).Worksheets(1).Range("G" + а).Value; СубконтоКт2 = Excel.WorkBooks(1).Worksheets(1).Range("H" + а).Value; СубконтоКт3 = Excel.WorkBooks(1).Worksheets(1).Range("I" + а).Value; Кво = Excel.WorkBooks(1).Worksheets(1).Range("J" + а).Value; Сумма = Excel.WorkBooks(1).Worksheets(1).Range("K" + а).Value; Содержание = Excel.WorkBooks(1).Worksheets(1).Range("L" + а).Value; а = а + 1; КонецЦикла; Excel.ActiveWorkBook.Close(); Возврат ""; КонецФункции а это проведение: Процедура ОбработкаПроведения() СпрТМЦ = СоздатьОбъект("Справочник.ТМЦ"); справМестХран = СоздатьОбъект("Справочник.МестаХранения"); докЗаказ = СоздатьОбъект("Документ.Заказ"); спраВидыДеят = СоздатьОбъект("Справочник.ВидыДеятельности"); спраПодр = СоздатьОбъект("Справочник.Подразделения"); глКомментарий("Начало",2,Контекст); глТбОперация.УдалитьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Операция.НоваяПроводка(); Если (СчетДт = СчетПоКоду("26")) и (СчетКт = СчетПоКоду("231")) тогда Операция.Дебет.Счет = СчетДт; Операция.Кредит.Счет = СчетКт; Операция.Комментарий = СокрЛП(Содержание); справМестХран.НайтиПоНаименованию(Субконто1,0,1); Операция.Дебет.МестаХранения = справМестХран.ТекущийЭлемент(); СпрТМЦ.НайтиПоНаименованию(Субконто2,0,1); Операция.Дебет.ТМЦ = СпрТМЦ.ТекущийЭлемент(); Ддат = Дата(Лев(Прав(СокрЛП(Субконто3),9),8)); стрЗаказ = СтрЗаменить(Лев(СокрЛП(Субконто3),СтрДлина(СокрЛП(Субконто3))-11),"Заказ ",""); докЗаказ.НайтиПоНомеру(стрЗаказ,Ддат); Операция.Дебет.Партии = докЗаказ.ТекущийДокумент(); Операция.Сумма = Сумма; Операция.Количество = Кво; спраВидыДеят.НайтиПоНаименованию(СубкотноКт1,0,1); Операция.Кредит.ВидыДеятельности = спраВидыДеят.ТекущийЭлемент(); спраПодр.НайтиПоНаименованию(СубконтоКт2,0,1); Операция.Кредит.Подразделения = спраПодр.ТекущийЭлемент(); ИначеЕсли (СчетДт = СчетПоКоду("232")) и (СчетКт = СчетПоКоду("231")) тогда Операция.Дебет.Счет = СчетДт; Операция.Кредит.Счет = СчетКт; Операция.Комментарий = СокрЛП(Содержание); справМестХран.НайтиПоНаименованию(Субконто1,0,1); Операция.Дебет.МестаХранения = справМестХран.ТекущийЭлемент(); СпрТМЦ.НайтиПоНаименованию(Субконто2,0,1); Операция.Дебет.ТМЦ = СпрТМЦ.ТекущийЭлемент(); Ддат = Дата(Лев(Прав(СокрЛП(Субконто3),9),8)); стрЗаказ = СтрЗаменить(Лев(СокрЛП(Субконто3),СтрДлина(СокрЛП(Субконто3))-11),"Заказ ",""); докЗаказ.НайтиПоНомеру(стрЗаказ,Ддат); Операция.Дебет.Партии = докЗаказ.ТекущийДокумент(); Операция.Сумма = Сумма; Операция.Количество = Кво; спраВидыДеят.НайтиПоНаименованию(СубкотноКт1,0,1); Операция.Кредит.ВидыДеятельности = спраВидыДеят.ТекущийЭлемент(); спраПодр.НайтиПоНаименованию(СубконтоКт2,0,1); Операция.Кредит.Подразделения = спраПодр.ТекущийЭлемент(); ИначеЕсли (СчетДт = СчетПоКоду("903")) и (СчетКт = СчетПоКоду("232")) тогда Операция.Дебет.Счет = СчетДт; Операция.Кредит.Счет = СчетКт; Операция.Комментарий = СокрЛП(Содержание); Операция.Сумма = Сумма; Операция.Количество = Кво; спраВидыДеят.НайтиПоНаименованию(Субконто1,0,1); Операция.Дебет.ВидыДеятельности = спраВидыДеят.ТекущийЭлемент(); спраПодр.НайтиПоНаименованию(Субконто2,0,1); Операция.Дебет.Подразделения = спраПодр.ТекущийЭлемент(); справМестХран.НайтиПоНаименованию(СубкотноКт1,0,1); Операция.Кредит.МестаХранения = справМестХран.ТекущийЭлемент(); СпрТМЦ.НайтиПоНаименованию(СубконтоКт2,0,1); Операция.Кредит.ТМЦ = СпрТМЦ.ТекущийЭлемент(); Ддат = Дата(Лев(Прав(СокрЛП(СубконтоКт3),9),8)); стрЗаказ = СтрЗаменить(Лев(СокрЛП(СубконтоКт3),СтрДлина(СокрЛП(СубконтоКт3))-11),"Заказ ",""); докЗаказ.НайтиПоНомеру(стрЗаказ,Ддат); Операция.Кредит.Партии = докЗаказ.ТекущийДокумент(); ИначеЕсли (СчетДт = СчетПоКоду("901")) и (СчетКт = СчетПоКоду("26")) тогда Операция.Дебет.Счет = СчетДт; Операция.Кредит.Счет = СчетКт; Операция.Комментарий = СокрЛП(Содержание); Операция.Сумма = Сумма; Операция.Количество = Кво; спраВидыДеят.НайтиПоНаименованию(Субконто1,0,1); Операция.Дебет.ВидыДеятельности = спраВидыДеят.ТекущийЭлемент(); спраПодр.НайтиПоНаименованию(Субконто2,0,1); Операция.Дебет.Подразделения = спраПодр.ТекущийЭлемент(); справМестХран.НайтиПоНаименованию(СубкотноКт1,0,1); Операция.Кредит.МестаХранения = справМестХран.ТекущийЭлемент(); СпрТМЦ.НайтиПоНаименованию(СубконтоКт2,0,1); Операция.Кредит.ТМЦ = СпрТМЦ.ТекущийЭлемент(); Ддат = Дата(Лев(Прав(СокрЛП(СубконтоКт3),9),8)); стрЗаказ = СтрЗаменить(Лев(СокрЛП(СубконтоКт3),СтрДлина(СокрЛП(СубконтоКт3))-11),"Заказ ",""); докЗаказ.НайтиПоНомеру(стрЗаказ,Ддат); Операция.Кредит.Партии = докЗаказ.ТекущийДокумент(); конецесли; Ддат = ""; стрЗаказ = ""; КонецЦикла; Операция.Записать(); глКомментарий("Окончание",2,Контекст); КонецПроцедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2011, 14:30 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37086723&tid=1521628]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 350ms |

| 0 / 0 |
