Перенос бухгалтерских остатков 7.7 -> 8.2

Публикация № 63767

Разработка - Обмен данными 1С - Перенос данных из 1С7.7 в 1C8.X

51
Методика переноса справочников и бухгалтерских остатков из конфигураций 1С 7.7, использующих компоненту бухгалтерский учет, в 1С Бухгалтерия предприятия 8.2.

Используется OLE подключение к базе 7.7.

Это не конечное решение, а набор процедур и функций, упрощающих перенос данных из базы 7.7 в базу 8.2.

Примеры обработок использовались для переноса данных из реальных баз 1С бухгалтерия 7.7. (Общий режим и УСН). Обработки настроены на перенос счетов по которым были остатки в базах. Использовался релиз 1С Бухгалтерия предприятия 1.6.21.6

 

======================================================

При переносе остатков в базу на PostgreSQL выяснилось, что платформа вылетает с ошибкой при выполнении поиска в справочнике по наименованию.

В обработках, приложенных к публикации, поиск по наименованию используется в процедурах ИмпортДанныхОрганизации, УстановитьРеквизитыВнеоборотныхАктивов, ПолучитьОсновнойСклад и в обработке УСН в процедуре ПолучитьПодразделение.

Пока 1С не исправила эту ошибку следует вместо строки

	 Эл82 = Справочники.Организации.НайтиПоНаименованию( Наименование );

использовать что то типа

	 Эл82 = Справочники.Организации.ПустаяСсылка(); 
Выборка = Справочники.Организации.Выбрать();
Пока Выборка.Следующий() Цикл
    Если СокрЛП(Выборка.Наименование) = Наименование Тогда
         Эл82 = Выборка.Ссылка;
    КонецЕсли;   
КонецЦикла;  

Хотя это все равно не поможет. Платформа вылетает при попытке интерактивного поиска в справочнике по наименованию.

======================================================

Служебный справочник.

В конфигурации необходимо создать справочник «СоответствиеСправочников».
Длина кода 40, Строка
Длина наименования 80.
Реквизит - Справочник82. СправочникСсылка.
Автонумерация – Ложь. (Нет)

Импорт справочников.

При импорте справочников копируется структура групп, как она задана в базе 7.7. При повторной загрузке данных структура групп не анализируется, проверяется только наличие загружаемого элемента справочника.


Перед тем как импортировать данные следует определить соответствие справочников конфигураций.
Для этого определены две процедуры:

Процедура ДобавитьСоответствиеСправочников( п_ВидСпр77, п_СсылкаСпр82 )

п_ВидСпр77 – вид справочника 7.7 так, как он определен в конфигураторе.
П_ссылкаСпр82 - СправочникМенеджер..

Например:

	 ДобавитьСоответствиеСправочников( "Сотрудники", Справочники.ФизическиеЛица );

В результате будет создано соответствие с ключем  "Сотрудники&ФизическиеЛица". Этот ключ в дальнейшем должен использоваться для импорта данных из справочника Сотрудники 7.7 в справочник ФизическиеЛица 8.2.

Процедура ДобавитьСоответствиеРеквизитов( п_Ключ, п_ИмяРек77, п_ТипРек, п_ИмяРек82, п_КлючФунк = неопределено )

п_Ключ – ключ соответствия справочников.
п_ИмяРек77 – название реквизита (атрибута) справочника 7.7.
п_ТипРек – тип реквизита (см. ниже ).
п_ИмяРек82 - название реквизита справочника 8.2.
п_КлючФунк – ключ соответствия справочника или имя функции.

Параметр функции п_ТипРек может принимать следующие значения:
0 - типы полей число, строка или дата. Значение будет скопировано.
1 - ссылка на элемент справочника. Элемент справочника будет создан, если его нет.
10 - вызывается процедура обработки. Для типов отличных от типов для значения 0 или если типы не совпадают.
11 - вызывается процедура установки владельца справочника.
12 - вызывается процедура установки реквизитов содержащих перекрестные ссылки. Например Контрагенты являются владельцем справочника Договоры, и содержат реквизит ОсновнойДоговор.

Для п_ТипРек = 0 параметр КлючФункция не используется.
Для значения 1 КлючФункция содержит ключ соответствия для справочника.
Для значений 10 и 11 и 12 КлючФункция содержит имя функции обработки. Значения параметров п_ИмяРек77 и п_ИмяРек82 не анализируются и могут быть произвольными.

Например:

Поля имеют тип строка:

	 ДобавитьСоответствиеРеквизитов( "Сотрудники&ФизическиеЛица", "ИНН", 0, "ИНН" );

Поля имеют тип справочник:

	 ДобавитьСоответствиеРеквизитов( "Номенклатура&Номенклатура", "ЕдиницаИзмерения", 1, "БазоваяЕдиницаИзмерения", "ЕдиницыИзмерений&КлассификаторЕдиницИзмерения" );

Установка прочих реквизитов справочника:

	 ДобавитьСоответствиеРеквизитов( "Сотрудники&ФизическиеЛица", "ПрочиеРеквизиты", 10, "", "УстановитьРеквизитыФизЛица" );

Установка владельца справочника:

	 ДобавитьСоответствиеРеквизитов( "Договоры&ДоговорыКонтрагентов", "УстановкаВладельца", 11, "", "УстановитьВладельцаДоговора" );

Установки реквизитов содержащих перекрестные ссылки:

	 ДобавитьСоответствиеРеквизитов( "Контрагенты&Контрагенты", "ПрочиеРеквизиты", 12, "", "УстановитьДоговорИСчетКонтрагента" );

При импорте справочников программа анализирует установленное соответствие справочников и реквизитов и выполняет требуемое действие – копирует значение элемента, устанавливает ссылку на элемент справочника ( и создает его, если необходимо ) или вызывает процедуру обработки.

Для процедур типа 10 прототип процедуры имеет следующий вид:
Процедура ИмяПроцедуры( п_Спр77,  п_Эл82,  п_ИмяРек77,  п_ИмяРек82 )

Для процедур типа 11 и 12 прототип процедуры имеет следующий вид:
Процедура ИмяПроцедуры( п_Спр77,  п_Эл82 )

где
п_Спр77 – COM ссылка на элемент справочника 7.7.
п_Эл82 – справочник.объект 8.2.
п_ИмяРек77 – название реквизита справочника 7.7 так как оно определено в конфигураторе
п_ИмяРек82 – название реквизита справочника 8.2 так как оно определено в конфигураторе

Например:

	 Процедура УстановитьРеквизитыФизЛица( п_Спр77, п_Эл82, ИмяРек77, ИмяРек82 )

    Если п_Спр77.Пол.Идентификатор() = "Мужской" Тогда
        п_Эл82.Пол = Перечисления.ПолФизическихЛиц.Мужской;
    Иначе
        п_Эл82.Пол = Перечисления.ПолФизическихЛиц.Женский;
    КонецЕсли;   

КонецПроцедуры

Процедура УстановитьВладельцаДоговора( п_Спр77, п_Эл82 )>

       п_Эл82.Владелец = ПолучитьЭлементСправочника82( п_Спр77.Владелец, "Контрагенты", Истина );
   
КонецПроцедуры   

Процедура УстановитьДоговорИСчетКонтрагента( п_Спр77, п_Эл82 )
   
       п_Эл82.ОсновнойДоговорКонтрагента = ПолучитьЭлементСправочника82(          п_Спр77.ОсновнойДоговор, "ДоговорыКонтрагентов", Истина );
         п_Эл82.ОсновнойБанковскийСчет = ПолучитьЭлементСправочника82(     п_Спр77.ОсновнойСчет, "БанковскиеСчета", Истина );
   
КонецПроцедуры   

Для импорта всего справочника определены две процедуры

Процедура ИмпортироватьСправочник( п_Ключ )
и
Процедура ИмпортироватьПодчиненныйСправочник( п_Ключ, п_ВидСпрВладелец77, п_Функ = "" )

где
п_Ключ - ключ соответствия справочников.
п_ВидСпрВладелец77 – вид справочника владельца 7.7 так как он определен в конфигураторе.
п_Функ – имя функции определения необходимости импортировать элемент справочника. Эта функция должна возвращать Истина, если элемент необходимо импортировать или Ложь, в противном случае.

Прототип функции:
Функция ИмяФункции( п_Спр77, п_СпрВладелец77 )

Например:

	 ИмпортироватьСправочник( "Сотрудники&ФизическиеЛица" );

ИмпортироватьСправочник( "МестаХранения&Склады" );
 
ИмпортироватьПодчиненныйСправочник( "РасчетныеСчета&БанковскиеСчета", "Контрагенты" );

ИмпортироватьПодчиненныйСправочник( "Договоры&ДоговорыКонтрагентов", "Контрагенты", "ПроверитьНеобходимостьИмпортаДоговора" );

Пример функции определения необходимости импортировать элемент справочника:

	 Функция ПроверитьНеобходимостьИмпортаДоговора( п_Спр77, п_СпрВладелец77 )
   
    Если п_Спр77.Наименование = "Без договора (служебный; для платежей без указания договора)" Тогда
        Возврат Ложь;
    КонецЕсли;
   
    Если ПолучитьКодЭлемента77(п_СпрВладелец77.ОсновнойДоговор) <> ПолучитьКодЭлемента77(п_Спр77.ТекущийЭлемент()) Тогда
        Возврат Ложь;
    КонецЕсли;
   
    Возврат Истина;
   
КонецФункции   
Функция импорта элемента справочника это
Функция ПолучитьЭлементСправочника82( п_Спр77, п_ВидСпр82, п_ИзбежатьЗацикливания = ложь )

Где
п_Спр77 – СОМ ссылка на элемент справочника 7.7.
п_ВидСпр82 – вид справочника 8.2. так как он определен в конфигураторе.
ИзбежатьЗацикливания – установленный в Истина используется при получении перекрестных ссылок, для случаев когда элемент справочника еще не записан, и возможен взаимный вызов данной функции при попытке создания элементов справочников, ссылающихся друг на друга.

Например:

	 п_Эл82.Владелец = ПолучитьЭлементСправочника82( п_Спр77.Владелец, "Контрагенты", Истина );
Эта функция создаст элемент справочника, если на найдет его в базе, используя данные по соответствию реквизитов . Поиск наличия элементов осуществляется по вспомогательному справочнику «СоответствиеСправочников».

Импорт остатков по счетам.

Для импорта остатков по счетам определена процедура ИмпортироватьОстаткиПоСчету. Процедура выбирает остатки, согласно переданным параметрам и формирует документ «ВводНачальныхОстатков». Функция автоматически импортирует субконто вида справочник, для которых установлено соответствие. Для субконто других видов следует использовать процедуры обработки.

Прототип функции:
Процедура ИмпортироватьОстаткиПоСчету(  п_РазделУчета, п_ФункФО, п_Счет82, п_КодСчета77, п_Суб82_1, п_Суб82_2, п_Суб82_3, п_НомерСуб77_1 = Неопределено, п_НомерСуб77_2 = Неопределено, п_НомерСуб77_3 = Неопределено )

где
п_РазделУчета – ПеречислениеСсылка.РазделыУчетаДляВводаОстатков. (значение реквизита документа )
п_ФункФО – имя процедуры импортирования остатков.
п_Счет82 - ПланСчетовСсылка.Хозрасчетный. (Остатки п счету 8.2 ).
п_КодСчета77 – код счета 7.7.
п_Суб82_1, п_Суб82_2, п_Суб82_3 - Характеристика.ВидыСубконтоХозрасчетные (Субконто 8.2.)
п_НомерСуб77_1, п_НомерСуб77_2, п_НомерСуб77_3 – номер субконто 7.7, соответствующий субконто 8.2
или описатель функции обработки значения субконто.

Например:

Импортировать остатки по счету  60.1 (7.7.) -> 60.01 (8.2). Субконто счета 7.7 соответствуют субконто счета 8.2
для импорта используется процедура «СформироватьОстаткиПоПоставщикам»:

	 ИмпортироватьОстаткиПоСчету( Перечисления.РазделыУчетаДляВводаОстатков.РасчетыСПоставщикамиИПодрядчиками, "СформироватьОстаткиПоПоставщикам", 
                              ПланыСчетов.Хозрасчетный.РасчетыСПоставщиками, "60.1", Справочники.Контрагенты, Справочники.ДоговорыКонтрагентов, Неопределено, 1, 2 );

Импортировать остатки по счету  50.1 (7.7.) -> 50.01 (8.2). Субконто не используются (или отсутствуют) 

	 ИмпортироватьОстаткиПоСчету( Перечисления.РазделыУчетаДляВводаОстатков.ДенежныеСредства, "СформироватьОстаткиПоКассе", 
                              ПланыСчетов.Хозрасчетный.КассаОрганизации, "50.1", Неопределено, Неопределено, Неопределено )

Импортировать остатки по счету  68.1 (7.7.) ->68.01 (8.2). Для получения субконто 7.7 используется функция «Субконто1_68», субконто соответствует первому субконто 8.2.

	 ИмпортироватьОстаткиПоСчету( Перечисления.РазделыУчетаДляВводаОстатков.РасчетыПоНалогамИСборам, "СформироватьОстаткиПоНалогам",      
                              ПланыСчетов.Хозрасчетный.НДФЛ, "68.1", Неопределено, Неопределено, Неопределено, "1&Субконто1_68" );

Прототип процедуры импортирования остатков:
Процедура ИмяПроцедуры( п_Док, п_Счет82, п_Суб1, п_Суб2, п_Суб3, п_БухИтоги77, п_КолДт, п_СуммаДт, п_КолКт, п_СуммаКт )

где
п_Док - ДокументОбъект. ВводНачальныхОстатков.
п_Счет82 - ПланСчетовСсылка.Хозрасчетный.
п_Суб1, п_Суб2, п_Суб3 – ссылки на субконто 8.2., в зависимости от типа
п_БухИтоги77 – СОМ ссылка на бухгалтерские итоги. Итоги выбираются по субконто.
п_КолДт, п_СуммаДт, п_КолКт, п_СуммаКт – итоги верхнего уровня субконто. Необходимы для вычисления стоимости по счетам без суммового учета, например по складам.

Например:

	 Процедура СформироватьОстаткиПоПоставщикам( п_Док, п_Счет82, п_Суб1, п_Суб2, п_Суб3, п_БухИтоги77, п_КолДт, п_СуммаДт, п_КолКт, п_СуммаКт )
   
    п_Док.ОтражатьПоСпециальнымРегистрам = ложь;
   
    ТабСтр = п_Док.РасчетыСКонтрагентами.Добавить();
    ТабСтр.СчетУчета = п_Счет82;
    ТабСтр.Контрагент = п_Суб1;
    ТабСтр.ДоговорКонтрагента = п_Суб2;
    Если п_Счет82.Код = "60.01" или п_Счет82.Код = "62.02" Тогда
        ТабСтр.Сумма = п_БухИтоги77.СНК("С");
    Иначе
        ТабСтр.Сумма = п_БухИтоги77.СНД("С");
    КонецЕсли;   
    ТабСтр.Документ = ПолучитьДокРасчета();
   
КонецПроцедуры

Описатель функции обработки значения субконто выглядит так: «НомерСубконт&ИмяФункции».
Прототип функции:
Функция ИмяФункции(  п_Суб77, п_БухИтоги77 )

где
п_Суб77 – СОМ ссылка на субконто 7.7 в зависимости от типа субконто 7.7.
п_БухИтоги77 – СОМ ссылка на бухгалтерские итоги. Итоги будут на том уровне на котором находится субконто.

Например:

	 Функция Субконто1_68( п_Суб77, п_БухИтоги77 )
    Возврат ПолучитьВидПлатежаВБюджет( п_Суб77 );        
КонецФункции

51

Скачать файлы

Наименование Файл Версия Размер
ImportOSNO.rar
.rar 38,45Kb
19.08.14
997
.rar 38,45Kb 997 Скачать
ImportUSN.rar
.rar 24,55Kb
19.08.14
71
.rar 24,55Kb 71 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. TIG-PROGRAMMIST 13.01.10 11:08 Сейчас в теме
Все это хорошо за труды + но я сделал тоже самое только связи формируются по ключам хранящимся в дбф файле тем самым не требуется доработка конфигураций...
2. scape 278 13.01.10 17:37 Сейчас в теме
И где? Разработку в студию!!! Такую же.... :o
3. scape 278 21.01.10 10:11 Сейчас в теме
Обновил обработку для загрузки из бухгалтерии ОСНО. Исправил мелкие косячки. Реализована загрузка остатков по большинству
счетов стандартного плана счетов. Тестировалось на реальной базе, с ужасно кривым ведением учета.

Так как ни каких комментариев не воспоследовало, то думаю за сим все, обновлений больше не будет.

Потребительское отношение весьма свойственно человеческому виду...
4. al3ko 26.04.10 11:15 Сейчас в теме
Интересная разработка. Единственное что нашел из альтернативы стандартной обработке переноса остатков из 7.7 в 8.2.
Попробую использовать для переноса остатков в БП 2.0
5. Ichigo 11.10.11 12:23 Сейчас в теме
Спасибо за разработку. Приходиться переносить из УСН в БП 2.0 а стандратный перенос почему то не получается.
6. jack_kkm 34 20.10.11 09:53 Сейчас в теме
Для УСН есть правила от 1с-ников, обновляешься до последнего релиза, правила ищешь в каталоге Extforms, файл USN_Acc8.xml. У меня получилось вполне успешно. Но требует доработки перенос контрагентов, конкретнее поиск контрагентов в базе приемнике. Если перенос из одной базы, то всё нормально, если из нескольких баз семерки в одну восьмерку, то будут плодиться двойники контрагентов.

Для общей системы налогообложения сейчас есть правила, позволяющие выгрузить не только остатки, но и документы за период - очень удобно, спасибо 1с. Так же требует небольших доработок, но в целом всё хорошо.
7. Murik_1984 1 18.11.11 12:35 Сейчас в теме
Большое спасибо за обработку. Стандартные нифига не работают, если разные релизы. А тут в принципе можно дописать под себя, если что не получается.
8. tavro 05.12.11 18:59 Сейчас в теме
использовал, то что надо
25. evg300183 23.12.11 14:38 Сейчас в теме
Большое спасибо за обработку. Стандартные нифига не работают, если разные релизы. А тут нужно дописывать?
26. ASoft 02.01.12 10:56 Сейчас в теме
Спасибо. Использовал как шаблон.
27. PeaceDOS 19.01.12 14:07 Сейчас в теме
Спасибо. Помогло! Стандартные ваще не айс!
28. baralgin1003 30 23.01.12 22:27 Сейчас в теме
выдает сообщение что Код не уникален... вроде делал все как написано, не знаю уже куда и копать, то ли в бухе 77 глядеть, толи в код.. но в общем ничего, бодро)))
29. scape 278 24.01.12 22:20 Сейчас в теме
(28) baralgin1003,
Отключи контроль уникальности номера справочника "СоответствиеСправочников". Упустил в инструкции этот момент.
30. kurvik 18.02.12 12:20 Сейчас в теме
Большое спасибо за обработку. Стандартной обработкой не получилось обработать. В принципе дописал немного подсебя несколько процедур.Помогло при переносе.
32. scape 278 18.02.12 17:22 Сейчас в теме
(30) kurvik,
Оно и подразумивалось что под себя надо дорабатывать...
31. dn3d 18.02.12 12:45 Сейчас в теме
33. MegatronX 19.02.12 01:30 Сейчас в теме
Для Тис работать не будет?
34. scape 278 19.02.12 07:26 Сейчас в теме
(33) MegatronX,

Только справочники перенести можно, и то надо настраивать перенос.
35. realmrak 6 23.02.12 16:18 Сейчас в теме
Возможно ли использование этой вещицы для переноса из 7.7 ПУБ в 8.2 Бухгалтерию? И имеет ли значение релиз конфы (у меня последние конфигурации для Украины - ПУБ 7.70.041 и Бух 1.2.5.3)?
36. scape 278 23.02.12 17:13 Сейчас в теме
Релиз значения не имеет. В любом случае нужно дорабатывать.
37. mishkaaa 13.03.12 13:33 Сейчас в теме
Спасибо! Долго искал подобную обработку, буду пробовать.
38. NataZ 13.03.12 17:49 Сейчас в теме
А из Предпринимателя 7.7 в Бух 8.2 перенесет?
39. scape 278 13.03.12 19:17 Сейчас в теме
Смотри пункт 34.
Разработка работает с компонентой Бухгалтерский учет, т.е. остатки по бухгалтерским счетам. Предприниматель и ТиС работают на регистрах.
40. sergant500 12.04.12 22:22 Сейчас в теме
Классная обработка! Шаблоны переделал под себя. Легко дорабатывать, рекомендую.
41. p1l1gr1m 17.04.12 16:42 Сейчас в теме
Хорошая вещь, рекомендую.

Важное замечание - у создаваемого служебного справочника "СоответствиеСправочников", помимо отключения Автонумерации, следует отключить Контроль уникальности кодов (т.к., например, могут быть два элемента из разных справочников из 7.7 с одинаковым кодом, а код из 7.7 записывается в данной обработке как код элемента соответствия в данном служебном справочнике).
Но лучше всего сделать отдельное поле для хранения кода элементов справочников 7.7 для элемента соответствия в данном служебном справочнике 8.2, т.к. полный код (с вышестоящей иерархией) элемента 7.7 может не поместиться в максимальные 50 символов длины кода служебного справочника в 8.2. Плюс, сделать проверку на повторяющие коды в справочниках 7.7, т.к. они могут быть не уникальны, соответственно могут быть установлены неверные соответствия из служебного справочника соответствий в 8.2.
42. JLaikova 24.04.12 21:49 Сейчас в теме
(41) p1l1gr1m, Отключила Автонумерацию и контроль уникальности в созданном справочнике СоответствиеСправчников, а код не уникален все равно выдает на загрузке 10,3 счета . Что не так делаю?
43. Invodev 28 01.06.12 18:36 Сейчас в теме
Вот спасибо! Мощный инструмент. Сама хотела написать что нибудь в этом роде, да всё некогда.
Оставьте свое сообщение

См. также

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11 32

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные функции

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    3422    329    SanchoD    29       

Работа с графической схемой в объектной модели DOM 40

Статья Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Универсальные функции

Пример кода для работы с графической схемой в объектной модели DOM, платформа 8.3.12.

1 стартмани

04.06.2019    3311    4    botokash    19       

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных) 50

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    4239    5    yku    7       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 509

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    24779    242    bonv    102       

Альтернатива внешним печатным формам. ЗУП 3.1 23

Статья Программист Расширение (cfe) v8 v8::СПР ЗУП3.x Зарплата Абонемент ($m) Печатные формы документов Универсальные функции Практика программирования Разработка

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    5821    10    Mogilnikova    2       

Использование подсистемы БСП "Заполнение объектов" 133

Статья Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    12849    8    ids79    14       

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом 12

Инструменты и обработки Программист Пользователь Архив с данными v8 КА1 БП2.0 УТ10 УПП1 Windows Абонемент ($m) Печатные формы документов Универсальные функции Email

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    10960    10    stvorl    0       

Пропорциональное распределение в запросе 35

Статья Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Периодически в работе сталкиваюсь с задачей пропорционального распределения сумм в запросе. Ситуация усложняется, когда распределяемые суммы изначально не известны и определяются в процессе выполнения запроса. Эта статья один из примеров решения такой задачи.

1 стартмани

28.06.2018    7952    1    invertex    7       

Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3 31

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv7.md Россия Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Воспользоваться современным средством переноса данных "Конвертация данных 3.0.5.3" можно только выгрузив из системы - источника данных XML в формате обмена данными EnterpriseData. В этой публикации можно скачать приемы выгрузки из 1С 7.7 универсального формата обмена для Конвертации данных 3. Выполняем перенос данных из «1С:Предприятие 7.7» в «1С:Предприятие 8.3». Используем Конвертацию данных КД 3.0 из 1c 7.7 --> 1С 8.3. На первой стадии еще не опубликовано иного способа подложить файл для Конвертации данных 3 кроме как сформировать его вручную, постараемся решить данную проблему.

1 стартмани

26.02.2018    25779    45    ksnik    3       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 8

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования Универсальные функции

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    21307    21    agent00mouse    0       

1С:Конвертация данных 2.0. Анализ состава выгруженных данных из базы источника до загрузки в базу-приемник 30

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 КД БП3.0 ЗУП3.x Россия Windows Абонемент ($m) Перенос данных из 1C8 в 1C8 Перенос данных из 1С7.7 в 1C8.X

Обработка анализирует файл выгрузки данных конвертации и формирует дерево выгруженных объектов по категориям с возможностью просмотра выгруженных реквизитов (свойств). Идеально подходит для анализа выгруженных данных при переходе на ЗУП 3.1 или Бухгалтерия 3.0 с ранних версий.

1 стартмани

16.11.2017    10395    77    leosoft    4       

Размеры управляемой формы 100

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Универсальные функции

Как рассчитать ширину и высоту управляемой формы или отдельного элемента, чтобы адаптировать интерфейс программно при их изменении.

1 стартмани

08.10.2017    17527    46    json    8       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    17325    140    Bassgood    10       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38259    166    DarkAn    86       

Web сервис 1С 24

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования WEB Универсальные функции

Пример реализации простого web сервиса. Особенность: не используются XDTO пакеты, определяемые в дереве конфигураций; возможность передачи любых структур данных: списки значений, таблицы значений, табличные документы и т.п.

1 стартмани

21.03.2017    22091    74    hiduk    33       

Набор математических функций 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    10923    2    SvoyakMartin    17       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Данный прием позволяет отлаживать и дорабатывать модуль менеджера во внешней обработке без необходимости пересохранять конфигурацию и перезапускать базу

1 стартмани

23.10.2016    22658    19    json    22       

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы 49

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Примеры взаимных преобразований Таблицы значения в Дерево значений или Табличный документ с использованием универсальных функций и макетов Системы компоновки данных. Примеры представлены в форме удобной для копирования в разработку.

1 стартмани

13.09.2016    28152    47    pavley2002    11       

7 правил RFC 4180 22

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Универсальные функции

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    12660    15    kuzyara    2       

Генерация QR-кода (управляемая форма, обычное и управляемое приложение) 59

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Универсальные функции Универсальные обработки

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    35513    151    tunesoft    24       

Набор правил конвертации 16

Инструменты и обработки Системный администратор Программист Архив с данными v7.7 v8 БП2.0 УТ10 УПП1 1С7:ТиС Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8

Набор правил обмена между различными конфигурациями ТиС 9.2-УТ11.1 ТиС 9.2-УПП1.3 УТ11.1-УТ11.2 УТ10.3-УТ1.11 УПП1.3-УТ11.2 УТ10.3-БП2.0 УТ10.3-УТ11.2 УТ11.1-БП 3.0 проверены на реальных переходах, работают.

1 стартмани

14.01.2016    25563    216    filipp    23       

Автоматическая подстановка уничтожений временных таблиц в текст запроса 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    15004    SeiOkami    3       

Механизм контроля заполнения реквизитов 32

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Механизм позволяет в пользовательском режиме настраивать контролируемые реквизиты, тем самым помогает справиться с невнимательностью пользователей. Не требует снятия с поддержки типовых объектов, внося минимум изменений в конфигурацию. Не привязан ни к конкретным конфигурациям, ни к БСП.

1 стартмани

25.10.2015    10247    28    yur4ik9408    10       

Прикрепление внешних файлов к документам и справочникам 1С 8.3 (управляемые формы) 29

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Россия Windows Абонемент ($m) Практика программирования Универсальные функции

В данной статье мы рассмотрим, как просто и быстро в любую конфигурацию на базе управляемых форм добавить функционал прикрепления внешних файлов к документам и справочникам. Я начну описание с нуля, т.е. с создания пустой конфигурации. Так что даже любой малоопытный разработчик (вроде меня =) ) сможет реализовать данный функционал в своей или уже написанной конфигурации. Если Вам не хочется разбираться с ниже написанной инструкцией, можете скачать файл*.doc с описанием и скриншотами, либо уже саму готовую конфигурацию.

1 стартмани

15.10.2015    62821    119    omenfarsh    27       

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Математика и алгоритмы Универсальные функции

Метод имитации отжига для поиска оптимального решения. И, как обычно, универсальная функция поиска этого самого решения.

1 стартмани

13.10.2015    14800    22    dusha0020    5       

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса 78

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом Универсальные функции Внешние источники данных

Часто бывает, что возникает необходимость загрузить множество данных из разнообразных источников в определенную форму или рабочее место. В процессе загрузки пользователь в неведении — информация готовится или нет. Прием позволяет загружать данные из нескольких источников асинхронно, не блокируя форму\интерфейс, а также отображать ошибки и состояние прогресса. По мере готовности данных, они будут отображены на форме

1 стартмани

09.10.2015    28687    133    pbazeliuk    6       

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении 58

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Россия БУ Windows Учет ТМЦ Абонемент ($m) Инструментарий разработчика Универсальные функции

Расширение позволяет без изменений конфигурации проверять остатки по регистру бухгалтерии при проведении каждого документа и запрещает проведение при появлении отрицательных остатков после проведения.

1 стартмани

17.08.2015    38143    167    ekaruk    31       

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    20982    4    Serginio    1       

Перенос справочников и документов из 1С 7.7 "Торговля и склад 9.2" в 1С 8.2 "Бухгалтерия предприятия 2.0". 2

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 1С7:ТиС Россия Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Немного доработанные типовые правила обмена для конфигураций из ТиС 9.2. в БП 2.0 - «ПОД_Перенос_Справочников_ТиС_БП20.xml» и «ОбработкаВыгрузкиСправочников.ert». Добавлены правила выгрузки справочников: Организации, контрагенты и номенклатура. Доработал типовые ПОД для переноса только контрагентов и номенклатуры без документов в новую базу бухгалтерии 2.0, протестировал на типовых конфигурациях ТиС 9.2 рел.984 и БП 2.0.64.23.

1 стартмани

05.06.2015    43555    121    Kuzya_brаtsk    3       

Универсальный шаблонизатор HTML/XML на основе XPath 27

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Учитывая то, что в 1с появились http сервисы, которые позволяют сделать из 1с своего рода CMS, возникает необходимость формирования большого количества различных html документов из этого самого 1с. Можно формировать их с помощью конкатенации строк или с помощью объекта ДокументDOM или HTML, но это очень трудоемко и превращает код непонятно во что. Для решения этой проблемы я сделал обработку, которая на основе исходного "шаблона" и данных формирует выходной XML, который может быть и HTML'ем запросто :). Также эта обработка решает проблему формирования отчетов в html, например для рассылки их по почте.

1 стартмани

30.04.2015    12632    26    Fragster    1       

Использование общих модулей "Длительные операции" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса 124

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Производительность и оптимизация (HighLoad) Универсальные функции БСП (Библиотека стандартных подсистем)

В статье кратко описан способ использования процедур общих модулей "Длительные операции" из состава библиотеки стандартных подсистем (БСП). Статья будет полезна программистам и администраторам, работающих с объемными клиент-серверными базами, конфигурации которых включают в себя БСП. К длительным операциям можно отнести, например, такие процедуры как групповое проведение документов, формирование объемистых отчетов, работа с внешними источниками данных.

1 стартмани

17.03.2015    54951    163    Bassgood    15       

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр 207

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Функция предназначена для склонения выражений, которые часто требуется при формировании печатных форм договоров и прочих печатных форм. Функция склоняет по падежам ФИО, должности, числительные, валюты, единицы измерения, предметы. Также функция склоняет глаголы и прилагательные по числам и родам и существительные по числам. Имеется режим определения рода переданного выражения. Поддержка форматной строки для вывода результата. Функция не использует внешние библиотеки и веб-сервисы, написана на чистом языке 1С, и поэтому легко встраивается в любую конфигурацию или внешнюю обработку. Правила склонения оформлены в виде таблицы и могут быть легко изменены при необходимости.

1 стартмани

14.02.2015    89173    104    daMaster    87       

Регулярные выражения без COM объектов и внешних компонент 27

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Платформа до сих пор не поддерживает регулярные выражения, хотя они уже стали довольно востребованной возможностью в разных языках программирования. Использование COM объектов и внешних компонент имеет ограничения, поэтому предлагается вариант реализации ограниченного функционала на встроенном языке 1С.

1 стартмани

09.02.2015    20491    18    boogie    35       

Лучшие методы сравнения таблиц значений 324

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Задача сравнения таблиц значений встречается на практике довольно часто и может решаться по-разному. Недавняя дискуссия на форуме показала, что до сих пор не сложилось единого мнения о том, какой метод сравнения лучше. В этой статье описываются поиски ответа на данный вопрос, и делается субъективная попытка обобщить и подвести итоги дискуссии.

1 стартмани

02.02.2015    88817    51    ildarovich    54       

Полезные функции БСП 235

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    45857    47    spec8s    30       

Библиотека математических функций 1.1 114

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Привожу тексты различных математических функций, которыми периодически пользуюсь. Основной акцент ставится на функции работы с матрицами (в 1С в качестве матриц использовались двумерные массивы). В версии 1.1 функции работы с матрицами немного переписаны для улучшения производительности.

1 стартмани

18.12.2014    21941    40    alex271    67       

Библиотека универсальных функций и процедур (v 1.3) 85

Инструменты и обработки Программист Подсистема v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

Привожу тексты различных универсальных функций и процедур, которыми постоянно пользуюсь. Некоторые функции достаточно специфичны, но многими пользуюсь практически каждый день.

1 стартмани

17.12.2014    13742    46    alex271    27       

Опять даты или "пятая нога" для стандартной платформы. 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

Функции для работы с датами, которые почему-то забыли перенести из языка запросов в язык 1С.

1 стартмани

21.10.2014    14968    14    dusha0020    53       

[ТАКСИ] Шаблон внешней обработки...и не только 207

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки Работа с интерфейсом Универсальные функции

Обработка предназначена для лентяев, к каковым, в первую очередь, отношу себя. Это в некотором роде шпаргалка в виде шаблона внешней обработки. Для создания новой копируем эту, удаляем ненужное, вставляем нужное - получаем результат. Чем ваять с нуля, каждый раз прописывая одно и то же, проще использовать заготовку, подобную этой... 24.11.2018 - Версия 1.21 - что-то добавил, что-то поправил.... 16.04.2019 - По просьбам трудящихся (немногочисленным, правда) оставил последнюю версию 1.21, дабы не было путаницы... 17.04.2019 - Версия 1.22 Вернул пример сохранения табличного документа в разных форматах и чтения DBF из версии 1.16 (как потерялось - сам не понял)

2 стартмани

22.09.2014    45993    687    Alex_E    27       

Открытие объекта в 1С 8.2 и 8.3 по ссылке в тонком клиенте. 29

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Стартеры 1С WEB Универсальные функции

Очень часто в работе приходится делать рассылку оповещений с указанием в письме ссылки на какой-либо объект. Веб клиент работает не так стабильно как хотелось бы, поэтому иногда от него приходится отказаться. В данном случае есть альтернативное решение.

1 стартмани

16.09.2014    33942    30    OstHusky    9       

Ввод адреса с подсказкой и разбиением по структуре КЛАДР (dadata.ru) 29

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные обработки WEB Универсальные функции

Демонстрация использования подсказки адреса при вводе с помощью сервиса dadata.ru и разбор результата по структуре КЛАДР

2 стартмани

13.07.2014    29684    245    mnemchinov    30       

Исследователь макетов и тела макета компоновки данных 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные обработки Универсальные функции

Класс для наглядного представления тела макета компоновки данных и макетов макета компоновки данных

1 стартмани

13.07.2014    15989    32    Armando    12       

Универсальная функция получения таблицы дат за период. С любым интервалом (день, неделя, месяц, квартал и т.д.) 32

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Универсальные функции

Небольшая функция, возвращающая таблицу значений со всеми датами за период. Интервал дат можно задать любой: Секунда, Минута, Час, День, Неделя, Месяц, Квартал, Полугодие, Год.

1 стартмани

14.06.2014    32984    37    mtv:)    6       

Сравнение строк с выводом различий 61

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

Обработка созданная с целью представить реализованный мной алгоритм сравнения строк. Реализована на 1С 8.1, однако будет работать и на более поздних версиях.

1 стартмани

15.05.2014    19881    69    bahbah    16       

Внешняя обработка TRANSFER7782U Версия 2.07 Перенос данных из 1C Предприятие 7.7 в 1С Предприятие 8.2 (8.3) (Обычное и управляемое приложение) 42

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Внешняя обработка предназначена для COM-переноса данных из информационной базы 1С Предприятие 7.7 в 1С Предприятие 8.2 (8.3) (Обычное и управляемое приложение).

1 стартмани

25.04.2014    60680    724    rauf    73       

Строка. Методы работы со строкой на языке 1с8. 17

Инструменты и обработки Программист Архив с данными v8 Россия Windows Абонемент ($m) Универсальные функции

26 методов. Там, где это может быть востребовано, методы работают как слева, так и справа, с учетом и без учета регистра символов. Многие методы имеют дополнительный выход со вспомогательной информацией.

1 стартмани

23.04.2014    16528    28    newold2    14